以下、本発明の好ましい実施形態について、添付図面を参照して説明する。図1は、本発明の第1実施形態であるデバイス制御アプリケーション14b(以下、本アプリ14bとも記述する)が搭載された携帯端末10の電気的構成を示すブロック図である。
携帯端末10は、携帯電話網100を介して、他の装置との間で音声通話を行い、またはインターネットを利用可能な携帯電話機である。また、携帯端末10は、アクセスポイント50を介したインフラストラクチャモードにより、デバイス30との間で無線通信を行う。携帯端末10には、CPU11、ROM12、RAM13、フラッシュメモリ14、無線LAN送受信部15、操作キー16、タッチパネル17、液晶表示装置18(以下、LCD18とも記述する)、メモリカードインターフェース19(以下、メモリカードI/F19とも記述する)、音声入出力部21、電話網通信部22が設けられる。これらは、バスライン23を介して互いに接続されている。
CPU11は、ROM12等に記憶される固定値やプログラム等に従って、バスライン23と接続された各部を制御する。ROM12は、書換不能な不揮発性のメモリであって、RAM13は、書換可能な揮発性のメモリである。フラッシュメモリ14は、書換可能な不揮発性のメモリであり、オペレーティングシステム14a(以下、OS14aとも記述する)や本アプリ14b、その他の複数種類のアプリケーション(図示せず)が格納される。OS14aは、携帯端末10の標準機能を実現するための基本ソフトウェアであって、本実施形態の場合、アンドロイド(登録商標)OSである。本アプリ14bは、デバイス30のベンダによって提供されるアプリケーションであって、ユーザによって携帯端末10にインストールされる。
以降、アプリケーションやオペレーティングシステムなどのプログラムを実行するCPU11のことを、単にプログラム名で記載する場合もある。例えば「アプリケーション」という記載が、「アプリケーションを実行するCPU11」を意味する場合もある。
携帯端末10に搭載されたOS14aのAPIをアプリケーションが用いることにより、アプリケーション間でデータを受け渡す共有機能(インテント機能とも呼ばれる)が実現される。また、携帯端末10に搭載された本アプリ14bは、パーソナルコンピュータなどを経由せずに、携帯端末10から直接、デバイス30の印刷機能およびスキャン機能を利用するためのアプリケーションである。特に、本アプリ14bは、デバイス30から取得したスキャンデータを、共有機能によって他のアプリケーションに渡す場合に、ユーザビリティが良いように構成されている。
無線LAN送受信部15は、IEEE802.11b/gの規格に準拠した無線LANにより、携帯端末10と他の機器とをWi−Fi(登録商標)接続する回路である。この無線LAN送受信部15により、アクセスポイント50を介して、デバイス30との間が無線接続される。
操作キー16は、携帯端末10の筺体に設けられたハードキーであり、携帯端末10に設定情報や指示を入力する。タッチパネル17は、LCD18に重ねて設けられ、携帯端末10に設定情報や指示を入力する。LCD18は、各種の操作画面や、選択されたデータに基づく画像を表示する。メモリカードI/F19は、不揮発性のメモリカード20が装着されるインターフェースであって、メモリカード20に対するデータの書き込み又は読み出しを制御する。メモリカード20は、一例として、SDカード(登録商標)である。本実施形態の場合、本アプリ14bは、デバイス30から受信したスキャンデータを、PDFフォーマットのファイル(以下、PDFデータとも記述する)またはJPEGフォーマットのファイル(以下、JPEGデータとも記述する)に変換し、メモリカード20に格納する。PDFデータのフォーマットは、マルチページを含む1つのPDFデータを作成することができるデータ構造である。JPEGデータのフォーマットは、マルチページを含ませることができないデータ構造である。ここでマルチページとは、複数ページのデータである。
音声入出力部21は、マイクやスピーカなどで構成された音声入出力用デバイスであり、電話網通信部22は、携帯電話網100を介した通信を行うための回路である。携帯電話網100は、IMT−2000(International Mobile Telecommunication-2000の略)方式の通信網であって、携帯端末10による音声通話の利用を可能にする。
なお、携帯端末10にインストールされた各アプリケーションは、OS14aのAPIを呼び出して、無線LAN送受信部15、操作キー16、タッチパネル17、LCD18、メモリカードI/F19、音声入出力部21、電話網通信部22など、携帯端末10の各構成に受け渡したいデータをOS14aに出力する。各アプリケーションには、本アプリ14bが含まれる。すなわち、各アプリケーションは、OS14aのAPIを呼び出すことによって、携帯端末10の各構成を制御する。また、各アプリケーションは、OS14aのAPIを呼び出して、携帯端末10の各構成が出力するデータや各構成の状態を示すデータをOS14aから取得する。すなわち、OS14aのAPIを呼び出すことによって、携帯端末10の各構成の状態を示すデータをOS14aから取得する。携帯端末10の各構成の状態は、携帯端末10への操作入力の状態も含んでいる。また、OS14aは、携帯端末10の各構成が出力するデータや各構成の状態を示すデータを、定期的に、あるいは各構成の状態変化の都度、各アプリケーションに通知することもある。すなわち、各アプリケーションは、OS14aからの通知を受けることによって、携帯端末10の各構成の状態を示すデータをOS14aから取得する。
デバイス30は、プリンタ機能、スキャン機能、コピー機能などを有する複合機であって、携帯端末10の無線LAN送受信部15と同様に構成された無線LAN送受信部(図示せず)を備え、アクセスポイント50を介した無線通信により、携帯端末10とWi−Fi接続される。また、デバイス30は、携帯端末10の本アプリ14bにより制御され、携帯端末10から送信されてくるデータに基づいて画像を印刷し、または、原稿を読み取ってスキャンデータを生成し、携帯端末10へ送信する。
図2を参照して、携帯端末10のOS14aのAPIを用いることにより実現される共有機能について説明する。共有機能は、データ出力元のアプリケーションが出力するデータを、データ出力先として選択されたアプリケーションに処理させる機能である。共有機能としては、暗黙的共有機能と、明示的共有機能とがある。図2(a)は、暗黙的共有機能を説明する図であって、データ出力元のアプリケーション(以下、共有元アプリ60とも記述する)が、暗黙的共有機能の実行を、OS14aに要求した場合における処理の流れを示している。
図2(a)に示すように、暗黙的共有機能において、共有元アプリ60は、OS14aのAPIを呼び出し、共有機能の実行を要求する(1)。この要求は、共有機能により他のアプリケーションに処理させようとするデータ(以下、共有データとも記述する)のURI(Uniform Resource Identifierの略)と、タイプと、アクションとを含む。URIは、共有データの所在を示す情報であり、本実施形態の場合、ファイルパスで構成される。タイプは、共有データのフォーマットを指定する情報であり、アクションは、処理の種類を指定する情報である。OS14aは、共有元アプリ60から通知されるタイプとアクションとを検索条件として、携帯端末10にインストールされた全てのアプリケーション(以下、全てのアプリ62とも記述する)の中から、データ出力先のアプリケーション(以下、共有先アプリ64とも記述する)となり得る候補を検索する(2)。
携帯端末10にインストールされた各アプリケーションは、自アプリケーションにより処理可能なフォーマットを指定するタイプと、実行可能な処理の種類を指定するアクションとを予め宣言している。よって、OS14aは、共有元アプリ60から通知されたタイプとアクションとを検索条件として全てのアプリ62を検索する。そして、共有元アプリ60から通知されたタイプが指定するフォーマットのデータを処理可能であり、且つ、共有元アプリ60から通知されたアクションが指定する処理の種類に対応したアプリケーションを抽出し、その識別情報を取得する(3)。ただし、各アプリケーションが宣言するタイプ、アクションは、各アプリケーションの開発者が自由に設定できるものである。したがって、実際には実行できない処理を、各アプリケーションがアクションとして宣言している場合があり得る。よって、「共有元アプリ60から通知されたアクションが指定する処理の種類に対応したアプリケーション」とは、共有元アプリ60から通知されたアクションと、同一のアクションを宣言しているアプリケーションであることを意味しており、実際にその処理を実行可能であることまでを要求しない。
次に、OS14aは、検索により発見されたアプリケーション、すなわち、共有先アプリ64の候補であるアプリケーションの一覧を、LCD18に表示させる(4)。そして、ユーザが一覧からいずれかを選択すると(5)、OS14aは、選択された共有先アプリ64を起動して、その共有先アプリ64の画面をフォアグラウンド(前面とも呼ぶ)とし、共有元アプリ60から通知された共有データのURIと、タイプと、アクションとを通知する(6)。
その結果、ユーザにより選択された共有先アプリ64の画面がフォアグラウンドに表示され、共有先アプリ64は、通知されたURIで特定される共有データにアクセスし、アクションの値に従った処理を行う。例えば表示出力する、電子メールに添付して送信する、編集するなど、その共有先アプリ64で実行可能な各種の処理を行う。
図2(b)は、明示的共有機能を説明する図であって、共有元アプリ60が、明示的共有機能の実行をOS14aに要求した場合における処理の流れを示している。
図2(b)に示すように、明示的共有機能において、共有元アプリ60は、OS14aのAPIを呼び出し、共有先アプリ64の候補の一覧の表示を要求する(21)。この要求は、共有データのタイプとアクションとを含む。OS14aは、共有元アプリ60から通知されるタイプとアクションとを検索条件として、携帯端末10にインストールされた全てのアプリ62の中から、共有先アプリ64の候補を検索し(22)、検索条件を満たすアプリケーションの識別情報を取得する(23)。
次に、OS14aは、検索により発見された共有先アプリ64の候補の一覧を、LCD18に表示させる(24)。そして、ユーザがいずれかを選択すると(25)、OS14aは、選択されたアプリケーションの識別情報、および検索条件として用いたタイプとアクションとを含むインテントを返す(26)。一方、共有元アプリ60は、OS14aからインテントを受けると、OS14aのAPIを呼び出し、そのインテントに含まれる選択されたアプリケーションの識別情報、共有データのURI、タイプ、アクションを指定して、共有機能の実行を要求する(27)。OS14aは、共有元アプリ60から指定されたアプリケーションである共有先アプリ64を起動して、その共有先アプリ64の画面をフォアグラウンドとし、共有元アプリ60から通知された共有データのURIと、タイプと、アクションとを通知する(28)。
すなわち、共有元アプリ60が共有先アプリ64を認識せずに、共有データのURI等をOS14aへ通知する共有機能を暗黙的共有機能といい、共有元アプリ60が共有先アプリ64を指定して、共有データのURI等をOS14aへ通知する共有機能を明示的共有機能という。なお、本アプリ14bは、OS14aの明示的共有機能を利用するものとして説明する。
図3および図4は、本アプリ14bの画面がフォアグラウンドに表示されている場合において、デバイス30から取得したスキャンデータについて、ユーザが共有機能の実行を指示した場合における画面の遷移を示す図である。
デバイス30からスキャンデータを取得した場合、本アプリ14bのスキャン結果確認画面70をLCD18に表示させ、その中で、スキャンデータに対応するスキャン画像71を表示させる。
スキャン結果確認画面70は、さらに、ページ表示領域72、共有ボタン74、保存ボタン76を含む。ページ表示領域72は、デバイス30に読み取らせた原稿の全ページ数と、現在表示中のスキャン画像71が全ページの原稿のうち何ページ目の原稿の画像であるかを示すページ番号とを表示する領域である。
共有ボタン74は、共有機能の実行指示を入力するための領域である。ユーザが共有ボタン74にタッチすると、表示中のスキャン画像71に対応するスキャンデータが、共有データとして決定される。
保存ボタン76は、保存機能の実行指示を入力するための領域である。ユーザが保存ボタン76にタッチすると、表示中のスキャン画像71に対応するスキャンデータの保存が実行される。具体的には、スキャンデータを所定のフォーマットのデータに変換し、さらに、OS14aのAPIを呼び出して、メモリカード20に記憶させる。
スキャン結果確認画面70において、ユーザが共有ボタン74にタッチすると、LCD18に表示させる画面を、本アプリ14bのフォーマット選択画面77に遷移させる。フォーマット選択画面77においては、フォーマット選択領域78のみで操作を受け付け、共有ボタン74、保存ボタン76はグレーアウトし、ユーザ操作を受け付けない。
フォーマット選択領域78は、PDFフォーマットと、JPEGフォーマットとのいずれかをユーザに選択させるための選択肢を含む。ユーザは、いずれのフォーマットでスキャンデータを他のアプリケーションに共有させたいかを選択し、選択したフォーマットの選択肢にタッチする選択操作を行う。
フォーマット選択画面77において、ユーザが選択操作を行い、いずれかのフォーマットが選択されると、LCD18の画面を、処理中画面79に遷移させる。この処理中画面79の表示中、選択された一方のフォーマットの処理対象データが作成され、さらに、OS14aのAPIを呼び出すことにより、そのデータがメモリカード20に記憶される。なお、処理中画面79の表示中は、ユーザ操作を受け付けない。
処理対象データを作成した後、本アプリ14bは、OS14aのAPIを呼び出して、処理対象フォーマットのタイプ、およびアクションを指定し、共有先アプリ64の候補の一覧表示を要求する。すなわち、図2(21)に示す処理を実行する。
一方、一覧表示要求を受けたOS14aは、共有先アプリ64(図2)の候補を検索し、発見されたアプリケーションの名称82を列記した共有先アプリ一覧画面81を、LCD18に表示させることにより、共有機能によるデータ出力先として選択可能なアプリケーションを一覧で示す。複数のデータを処理可能なアプリケーションである一括処理アプリケーションが存在しない場合(S612:NO)、または、一括処理アプリケーションが選択されない場合(S616:NO)には、処理対象データを1つずつ処理するアプリケーションである単数処理アプリケーションが一覧で表示される(S620)。ユーザは、表示された候補の中から、所望のアプリケーションを共有先アプリ64として選択する。したがって、ユーザにとっては、デバイス30から取得したスキャンデータを、所望のフォーマットのデータに変換し、さらにそのフォーマットのデータを処理可能なアプリケーションの一覧から、適切な共有先アプリ64を簡単に選択できる。すなわち、ユーザは、簡単な操作、且つ、自由な組み合わせで、本アプリ14bと他のアプリケーションとを連動させ、デバイス30から取得したスキャンデータを様々な態様で利用でき、ユーザビリティが良い。
共有先アプリ一覧画面81において、ユーザが選択操作を行い、いずれかの単数処理アプリケーションが選択されると、LCD18の画面を、データ選択画面110(図4)に遷移させる(S626)。データ選択画面110は、サムネイル画像111〜115、全選択ボタン117、ページ入力領域118、を含んでいる。サムネイル画像111〜115は、共有データの各々を識別する識別画像である。サムネイル画像111〜115は、それぞれ、1〜5ページ目のサムネイル画像に該当する。
全選択ボタン117は、表示されている全てのサムネイル画像に対応するJPEGデータを、共有先アプリ64へ出力するデータとして選択する指示を入力するための領域である。ユーザが全選択ボタン117にタッチすると、サムネイル画像111〜115に対応するJPEGデータが選択される。ページ入力領域118は、複数のサムネイル画像のうちから選択されたサムネイル画像のページ番号を入力するための領域である。ユーザがサムネイル画像のページ番号をページ入力領域118に入力すると、入力したページ番号に対応するサムネイル画像のJPEGデータが選択される。例えば、ページ入力領域118に「1、3−5」というページ番号が入力された場合には、1ページ目のサムネイル画像111に対応するJPEGデータ、および、3〜5ページ目のサムネイル画像113〜115に対応するJPEGデータが選択される。これにより、ユーザは、共有先アプリ64へ出力するJPEGデータを、複数のJPEGデータの中から選択することが可能となる。
データ選択画面110において、ユーザが選択操作を行い、いずれかのサムネイル画像が選択されると、LCD18の画面を、画像編集画面200に遷移させる(S631、S660)。画像編集画面200は、処理対象サムネイル画像201、回転処理ボタン202、モノクロ処理ボタン203、セピア処理ボタン204、を含んでいる。処理対象サムネイル画像201は、単数処理アプリケーションに処理させる1つのJPEGデータの内容を示す、縮小画像である。回転処理ボタン202は、JPEGデータの向きを回転させる処理(例:縦向きと横向きとの間で向きを変換する処理)の実行指示を入力するための領域である。モノクロ処理ボタン203は、JPEGデータをモノクロのJPEGデータに変換する処理の実行指示を入力するための領域である。セピア処理ボタン204は、JPEGデータをセピア基調のJPEGデータに変換する処理の実行指示を入力するための領域である。セピア基調とは、黒がかった茶色の色調である。ユーザが回転処理ボタン202〜セピア処理ボタン204の何れかにタッチすると、表示中の処理対象サムネイル画像201に対応するJPEGデータに対して、タッチされたボタンに対応する処理が行われる。
以後、選択されたサムネイル画像に対応するJPEGデータが、1つずつ共有先アプリ64で処理される。このとき、共有先アプリ64で現在処理中のJPEGデータについてのサムネイル画像が、処理対象サムネイル画像201としてデータ選択画面110に表示される。そして、共有先アプリ64でのJPEGデータの処理が完了すると、次の処理順番のJPEGデータについてのサムネイル画像が、処理対象サムネイル画像201として、データ選択画面110に自動で表示される(S660)。そして、次の処理順番のJPEGデータが、共有先アプリ64で処理開始される。
図5は、本アプリ14bに従い、携帯端末10のCPU11が実行するスキャン処理を示すフローチャートである。この処理は、本アプリ14bの操作受け付け画面(図示せず)から、ユーザがスキャンの実行を指示した場合に開始される。なお、以下に説明する図5から図9のフローチャートに示す各ステップは、本アプリ14bがCPU11に実行させ、または、本アプリ14bがOS14aなどの機能を利用してCPU11に実行させるものとして説明する。ただし、各フローチャートが含むステップは、OS14aやその他アプリケーションがCPU11に実行させるステップに一部置き換えられても良い。また、CPU11の関与によらず、携帯端末10に設けられたハードウェアそのものが作動することによって実現されるステップに、一部置き換えられても良い。
まず、ステップS402(以下、ステップを省略)において、CPU11は、デバイス30に対してスキャンデータを送信するよう、無線LAN送受信部15から指示させる(S402)。一方、デバイス30は、携帯端末10からの指示に応じて、原稿をスキャンしてスキャンデータを生成し、携帯端末10へ送信する。携帯端末10は、デバイス30から受信したスキャンデータをRAM13に一時記憶させる。本実施形態において、このスキャンデータは、非圧縮、または可逆圧縮されたRAW画像データであるものとする。デバイス30においてスキャンが完了しない間(S404:NO)、CPU11は、処理を待機する。
一方、デバイス30においてスキャンが完了した場合(S404:YES)、CPU11は、スキャン結果確認画面70(図3)をLCD18に表示させる(S406)。次に、操作入力がない場合(S408:NO)、CPU11は、処理を待機する。一方、操作キー16またはタッチパネル17に対して操作が入力された場合であって(S408:YES)、且つ、共有機能以外の機能の実行指示が入力される場合(S410:NO)、CPU11は、操作入力に応じた各処理(例えば、スキャンデータの保存処理)を実行し(S412)、スキャン処理を終了する。スキャン処理を終了すると、CPU11は本アプリ14bの操作受け付け画面(図示せず)を表示させる。
一方、共有機能の実行指示が入力された場合(S410:YES)、CPU11は、フォーマット選択画面77をLCD18に表示させ(S414)、JPEGフォーマットとPDFフォーマットとのいずれかをユーザに選択させる。デバイス30に読み取らせる原稿は、写真画像である場合、文書である場合など、様々である。よって、スキャンデータの内容に適したフォーマットでデータを作成できるよう、いずれかのフォーマットをユーザに選択させるのである。
次に、フォーマットが選択されない間(S416:NO)、CPU11は、処理を待機する。一方、タッチパネル17がPDFフォーマットを指定する指示を受け付けた場合(S416:PDF)、CPU11はデバイス30から取得したスキャンデータから、PDFデータを作成する(S430)。なお、複数ページの原稿をデバイス30にスキャンさせた場合、携帯端末10は、複数のスキャンデータをデバイス30から取得する。その場合、CPU11は、複数のスキャンデータから、複数ページのデータを含む1つのPDFデータを作成する。
一方、タッチパネル17がJPEGフォーマットを指定する指示を受け付けた場合であって(S416:JPEG)、且つ、デバイス30から1つのスキャンデータを取得した場合、すなわち、デバイス30に1ページの原稿をスキャンさせた場合(S418:NO)、CPU11は、そのスキャンデータから1つのJPEGデータを作成する(S428)。
一方、デバイス30から複数のスキャンデータを取得した場合、例えば、デバイス30に複数ページの原稿をスキャンさせた場合(S418:YES)、CPU11は、複数のスキャンデータから、それぞれ1つのJPEGデータを作成することにより、複数のJPEGデータを作成する(S420)。
次に、CPU11は、処理中画面79(図3)をLCD18に表示させる(S422)。そして、処理対象データ(S420、S428で作成されるJPEGデータ、またはS430で作成されるPDFデータ)の作成中(S424:NO)、CPU11は、S422から処理を繰り返す。本実施形態では、CPU11は、作成した処理対象データにファイル名を付与し、ファイルとしてメモリカード20に記憶させる。処理対象データの作成開始から、処理対象データを構成するファイルをメモリカード20に書き込み、そのファイルをクローズするまでは、処理対象データの作成中とする。付与されるファイル名は例えば、「photo.jpg」「photo1.jpg」「image1.jpg」「image2.jpg」「document.pdf」というファイル名が挙げられる。一方、処理対象データの作成が完了すると(S424:YES)、CPU11は、共有処理(S426)を実行することにより、共有先アプリ一覧画面81(図3)をLCD18に表示させ、スキャン処理を終了する。スキャン処理を終了すると、CPU11は本アプリ14bの操作受け付け画面(図示せず)を表示させる。共有処理(S426)については、図6を参照して後述する。
本実施形態のスキャン処理によれば、ユーザにより選択された処理対象データが作成された後に、共有先アプリ一覧画面81がLCD18に表示される。換言すれば、共有先アプリ一覧画面81の表示前に、処理対象データの作成が完了している。
よって、ユーザが、共有先アプリ一覧画面81(図3)から、共有先アプリ64として選択したアプリケーションが、共有データである処理対象データを処理する時点において、その処理対象データは既にメモリカード20に作成済みであり、共有先アプリ64からアクセス可能な状態になっている。したがって、共有先アプリ64に確実に処理対象データを処理させることができる。
また、本実施形態によれば、ユーザが選択したフォーマットである処理対象フォーマットについてのみ、データを作成するので、選択されないフォーマット、すなわち不要なフォーマットのデータについては作成を省き、処理の負荷を軽減できる。
また、互換性の低いRAW画像データから、汎用のPDFデータまたはJPEGデータを作成し、共有先のアプリケーションに処理させるので、様々なアプリケーションを共有先アプリ64として選択させることができる。すなわち、デバイス30から取得したスキャンデータを多種多様な形態で利用できる。
また、共有機能の実行指示が入力された場合に、フォーマット選択画面77を表示させるので、複数のフォーマットの中から所望のフォーマットを選択可能であることをユーザに示すことができ、ユーザビリティが良い。
図6は、共有処理(S426)を示すフローチャートである。この処理は、各種のデータを共有先アプリ64に共有させるための処理である。図5を参照して説明したように、この処理は、処理対象データの作成完了後に開始される。
S600においてCPU11は、メモリカード20に作成した処理対象データを、共有データとして指定する。S602においてCPU11は、S416で選択された、共有データのフォーマットを確認する。共有データのフォーマットがPDFフォーマットである場合(S602:PDF)には、S604へ進む。S604においてCPU11は、共有先アプリ64の候補中に、PDFフォーマットに対応しているアプリケーションが存在するか否かを判断する。具体的には、CPU11は、PDFフォーマットのデータを処理可能なアプリケーションを検索するよう、OS14aに要求し、OS14aからPDFフォーマットに対応しているアプリケーションの識別情報を含む情報が返ってきた場合には、PDFフォーマットに対応しているアプリケーションが存在すると判断し、OS14aからPDFフォーマットに対応しているアプリケーションの識別情報を含む情報が返ってこなかった場合には、PDFフォーマットに対応しているアプリケーションが存在しないと判断する。アプリケーションの識別情報を含む情報の例としては、アンドロイド(登録商標)OSにおけるインテントに含まれるアプリケーション名が挙げられる。存在しない場合(S604:NO)にはS605へ進む。S605においてCPU11は、PDFフォーマットに対応しているアプリケーションが存在しないことを示す画面をLCD18に表示させ、S606へ進む。S606においてCPU11は、PDFフォーマットの共有データをJPEGフォーマットに変換し、PDFフォーマットの共有データに代えて、変換後のJPEGフォーマットのデータを新たな共有データとする。そしてS602へ戻る。なおS606では、PDFフォーマットの共有データの基となったスキャンデータをJPEGフォーマットに変換し、変換後のJPEGフォーマットのデータを新たな共有データとしてもよい。
一方、S604において、PDFフォーマットに対応しているアプリケーションが存在する場合(S604:YES)には、S608へ進む。S608においてCPU11は、OS14aのAPIを呼び出し、PDFフォーマットに対応している共有先アプリ64の識別情報、共有データのURI、「PDF」のタイプ、「SEND_MULTI」のアクションを指定して、明示的共有機能の実行をOS14aに要求する。そしてフローを終了する。ここで「SEND_MULTI」のアクションは、一括処理アプリケーションに対して、処理の種類を指定する情報である。
一方、S416で選択された共有データのフォーマットがJPEGフォーマットであると、S602において判断された場合(S602:JPEG)には、S610へ進む。S610においてCPU11は、共有データとして指定されたJPEGデータが複数存在するか否かを判断する。JPEGデータが1つである場合(S610:NO)には、S611へ進む。S611においてCPU11は、JPEGフォーマットに対応している共有先アプリ64の識別情報を含むインテントをOS14aから受信する。この場合の共有先アプリ64は、単数処理アプリケーションである。具体的には、CPU11は、JPEGフォーマットのデータを処理可能なアプリケーションを検索するよう、OS14aに要求し、OS14aからJPEGフォーマットに対応しているアプリケーションの識別情報を含むインテントを受信する。なお、本実施形態では、携帯端末10には工場出荷状態でJPEGフォーマットに対応しているアプリケーションが少なくとも1つはインストールされているケースを想定している。CPU11は、OS14aのAPIを呼び出し、JPEGフォーマットに対応している共有先アプリ64の識別情報、1つのJPEGデータである共有データのURI、「JPEG」のタイプ、「VIEW」のアクションを指定して、明示的共有機能の実行をOS14aに要求する。そしてフローを終了する。なお、共有機能の実行を要求されたOS14aは、共有先アプリ64の画面をフォアグラウンド(前面とも呼ぶ)に表示するとともに、共有元アプリ60である本アプリ14bの画面を、共有先アプリ64の画面のバックグラウンド(背面とも呼ぶ)に表示する。そして本アプリ14bは、待機状態になる。そして、共有先アプリ64の処理が終了すると、OS14aは、本アプリ14aの画面をフォアグラウンド(前面とも呼ぶ)に表示する。そして本アプリ14bは、動作状態になる。すなわち、本アプリ14aは、動作状態になってから、フローを終了する。ここで、「VIEW」のアクションは、データを表示する処理を指定する情報である。なお、本実施形態では、携帯端末10にインストールされているアプリケーションのうち、少なくとも携帯端末10に工場出荷状態でインストールされているJPEGフォーマットに対応しているアプリケーションは、「VIEW」というアクションに対応していることを想定している。また、現状では、JPEGフォーマットに対応しているアプリケーションが「VIEW」に対応していることが多い。
一方、S610において、JPEGデータが複数存在する場合(S610:YES)には、S612へ進む。S612においてCPU11は、複数のデータを処理可能なアプリケーションである、一括処理アプリケーションが存在するか否かを判断する。具体的には、CPU11は、JPEGフォーマットのデータを処理可能であって、「SEND_MULTI」のアクションに対応しているアプリケーションを検索するようOS14aに対して要求する。なお、「SEND_MULTI」は、一括処理アプリケーションのみが宣言しているアクションである。OS14aから一括処理アプリケーションの識別情報を含む情報が返ってきた場合には、一括処理アプリケーションが存在すると判断し、OS14aから一括処理アプリケーションに対応しているアプリケーションの識別情報を含む情報が返ってこなかった場合には、一括処理アプリケーションが存在しないと判断する。一括処理アプリケーションが発見されなかった場合(S612:NO)にはS620へ進み、発見された場合(S612:YES)にはS614へ進む。
S614においてCPU11は、発見されたアプリケーションの名称82を、共有先アプリ一覧画面81に一覧表示させる。具体的には、JPEGフォーマットのデータを処理可能であって、「SEND_MULTI」のアクションに対応しているアプリケーションを検索し、共有先アプリ一覧画面81に一覧表示するようOS14aに対して要求する。これにより、ユーザは、JPEGデータを処理可能な一括処理アプリケーションを、共有先アプリ一覧画面81から選択することが可能となる。
S616においてCPU11は、共有先アプリ64が選択されたか否かを判断する。具体的には、共有先アプリ一覧画面81において選択された共有先アプリ64の識別情報を含むインテントをOS14aから受信した場合には、一括処理アプリケーションである共有先アプリ64の選択が行われたと判断され(S616:YES)、S618へ進む。S618においてCPU11は、OS14aのAPIを呼び出し、共有先アプリ64の識別情報、複数のJPEGデータである共有データのURI、「JPEG」のタイプ、「SEND_MULTI」のアクションを指定して、明示的共有機能の実行をOS14aに要求する。そしてフローを終了する。
一方、OS14aからインテントを受信しなかった場合には、共有先アプリ64の選択が行われなかったと判断され(S616:NO)、S620(図7)へ進む。S620においてCPU11は、単数のデータのみ処理可能なアプリケーションである単数処理アプリケーションの名称82を、共有先アプリ一覧画面81に一覧表示させる。具体的には、JPEGフォーマットのデータを処理可能なアプリケーションを検索し、共有先アプリ一覧画面81に一覧表示するようOS14aに対して要求する。この要求によって「SEND_MULTI」に対応していないが、JPEGフォーマットのデータの処理は可能なアプリケーションも共有先アプリ一覧画面81に一覧表示されることになる。S622においてCPU11は、共有先アプリ64が選択されたか否かを判断する。具体的には、OS14aからインテントを受信しなかった場合には、共有先アプリ64の選択が行われなかったと判断され(S622:NO)、S602(図6)へ戻る。一方、共有先アプリ一覧画面81において選択された共有先アプリ64の識別情報を含むインテントをOS14aから受信した場合には、単数処理アプリケーションである共有先アプリ64が選択されたと判断され(S622:YES)、S624へ進む。S624においてCPU11は、選択された共有先アプリ64を識別する情報である共有先アプリ識別情報を、フラッシュメモリ14に記憶させる。共有先アプリ識別情報は、例えば、共有先アプリ64のアプリケーション種類を識別するためのID情報であってもよい。
S626においてCPU11は、データ選択画面110(図4)をLCD18に表示させる。データ選択画面110では、S600で共有データとして指定された全てのJPEGデータに関するサムネイル画像が一覧表示される。データ選択画面110では、例として、共有データとして指定されたJPEGデータが5つである場合を説明している。
S628において、JPEGデータが選択されない間(S628:NO)は、CPU11は処理を待機する。一方、タッチパネル17がJPEGデータを選択する指示を受け付けた場合(S628:YES)、S629へ進む。S629においてCPU11は、選択された全てのJPEGデータを識別する情報を、フラッシュメモリ14に記憶させる。例えば、選択された全てのJPEGデータの各ファイル名を、記憶させてもよい。
S630においてCPU11は、選択された全てのJPEGデータのファイル名の各々に、連続番号を付加する。例えば、「photo1.jpg」「document1.jpg」というファイル名を有する2つのJPEGデータが選択された場合には、「photo1−1.jpg」「document1−2.jpg」のように、ファイル名に連続番号を追加してもよい。
S631においてCPU11は、画像編集画面200(図4)をLCD18に表示させる。このとき、連続番号の最初の番号がファイル名に付加されているJPEGデータのサムネイル画面を、処理対象サムネイル画像201として表示させる。
S632においてCPU11は、画像編集が選択されたか否かを判断する。ユーザによる操作入力が行われなかった場合(S632:NO)にはS634へ進む。一方、ユーザによる操作入力が、回転処理ボタン202〜セピア処理ボタン204の何れかのタッチである場合、すなわち、画像編集指示の入力を受け付けた場合(S632:YES)、S633へ進む。S633においてCPU11は、処理対象サムネイル画像201に対応するJPEGデータに対して、回転処理ボタン202〜セピア処理ボタン204の何れかのタッチによって指示された画像編集処理を実行する。
S634においてCPU11は、S628で複数のJPEGデータが選択されたか否かを判断する。1つのJPEGデータが選択されている場合(S634:NO)には、S636へ進む。S636においてCPU11は、OS14aのAPIを呼び出し、単数処理アプリケーションである共有先アプリ64の識別情報、1つのJPEGデータである共有データのURI、「JPEG」のタイプ、「VIEW」のアクションを指定して、明示的共有機能の実行をOS14aに要求する。そしてフローを終了する。
一方、S628で複数のJPEGデータが選択された場合(S634:YES)には、S638へ進む。S638においてCPU11は、OS14aのAPIを呼び出し、単数処理アプリケーションである共有先アプリ64の識別情報、選択された複数のJPEGデータのうちの1つのJPEGデータである共有データのURI、「JPEG」のタイプ、「VIEW」のアクションを指定して、明示的共有機能の実行をOS14aに要求する。また、共有機能の実行の要求は、共有結果取得モードで行われる。共有結果取得モードとは、共有先アプリ64で1つのJPEGデータの処理が完了したことに応じて、共有先アプリ64から共有元アプリ60へ、処理が完了したことを報知させ、共有元アプリ60で、その報知を受信可能になるモードである。なお、共有機能の実行を要求されたOS14aは、共有先アプリ64の画面をフォアグラウンドに表示するとともに、共有元アプリ60である本アプリ14bの画面を、共有先アプリ64の画面のバックグラウンドに表示する。そして本アプリ14bは、待機状態になる。
S640においてCPU11は、共有先アプリ64でデータの処理実行中であることを示す処理中フラグを、フラッシュメモリ14に記憶させる。また、CPU11は、選択された複数のJPEGデータそれぞれに対応して、未処理であることを示す未処理情報をフラッシュメモリ14に記憶させる。CPU11は、未処理情報によって、選択された複数のJPEGデータのうち、何れのJPEGデータが共有先アプリ64で未処理であるかを認識することができる。例えば、未処理情報によって、複数のJPEGデータのうちの何ページ目まで処理が完了しているかを認識することができる。未処理情報は、例えば、未処理のJPEGデータのページ番号を示す情報であってもよい。また例えば、JPEGデータの全ページ数と、処理済のページ番号を示す情報であってもよい。また例えば、未処理のJPEGデータのファイル名であってもよい。そしてS644(図8)へ進む。
S644においてCPU11は、共有元アプリ60である本アプリ14bがフォアグラウンドに復帰するか否かを判断する。当該判断は、共有元アプリ60をフォアグラウンドに復帰させる内容のイベントを、OS14aから受信したか否かによって行われてもよい。復帰しない場合(S644:NO)にはCPU11は処理を待機し、復帰する場合(S644:YES)にはS646へ進む。
S646においてCPU11は、共有先アプリ64から、共有結果取得モードに基づく報知情報を受信したか否かを判断する。報知情報は、例えば、共有先アプリ64のアプリケーション種類を識別するためのID情報であってもよい。また報知情報は、例えば、1つのJPEGデータの処理が完了したことを示す情報や、次のJPEGデータの送信要求であってもよい。報知情報を受信していない場合(S646:NO)にはCPU11は処理を待機し、報知情報を受信した場合(S646:YES)にはS648へ進む。
S648においてCPU11は、S638においてOS14aのAPIに指定した共有データが処理済みであると認識できるように、未処理情報を更新させる。具体的には、未処理のJPEGデータのページ番号を示す情報から、S638においてOS14aのAPIに指定した共有データのページ番号を削除する処理であってもよい。また例えば、処理済のページ番号を示す情報に、S638においてOS14aのAPIに指定した共有データのページ番号を追加する処理であってもよい。また例えば、未処理のJPEGデータのファイル名を示す情報から、S638においてOS14aのAPIに指定した共有データのファイル名を削除する処理であってもよい。
S650においてCPU11は、選択された複数のJPEGデータの全てについて、共有処理が完了したか否かを、未処理情報に基づいて判断する。具体的には、未処理のJPEGデータのページ番号を示す情報が記憶されていないならば、共有処理が完了したと判断してもよい。また例えば、処理済のページ番号を示す情報が、JPEGデータの全ページ数分記憶されているならば、共有処理が完了したと判断してもよい。また例えば、未処理のJPEGデータのファイル名を示す情報が記憶されていないならば、共有処理が完了したと判断してもよい。全てのJPEGデータについて共有処理が完了していない場合(S650:NO)にはS656へ進む。S656においてCPU11は、連続共有確認表示をLCD18に表示させる。連続共有確認表示は、複数のJPEGデータを1つずつ共有先アプリ64に共有させる処理を連続して複数回実行することを、ユーザに報知するための表示である。
S660においてCPU11は、画像編集画面200(図4)をLCD18に表示させる。このとき、S638においてOS14aのAPIに指定した共有データにS630にて付加していた連続番号の次の番号が、ファイル名に付加されているJPEGデータのサムネイル画面を、処理対象サムネイル画像201として表示させる。なお、S662においてCPU11は、画像編集が選択されたか否かを判断する。S662における処理の内容は、前述したS632の処理の内容と同様であるため、説明を省略する。
また、S664における処理の内容は、前述したS633の処理の内容と同様であるため、説明を省略する。
S668においてCPU11は、フラッシュメモリ14から、共有先アプリ識別情報を読み出す。これによりCPU11は、共有先アプリ64を認識することが可能となる。
S670においてCPU11は、共有処理の実行指示が入力されたか否かを判断する。共有処理の実行指示が入力されていない場合(S670:NO)にはS650へ戻り、共有処理の実行指示が入力された場合(S670:YES)にはS638へ戻る。
一方、S650において、選択された複数のJPEGデータの全てについて共有処理が完了したと判断された場合(S650:YES)には、S652へ進む。S652においてCPU11は、選択された全てのJPEGデータを共有先アプリ64に共有させる処理が完了したことを示す情報を、LCD18に表示させる。このとき、最後に共有先アプリ64に共有させた処理対象サムネイル画像201をLCD18に表示させてもよい。S654においてCPU11は、処理中フラグと、共有先アプリ識別情報と、未処理情報と、をフラッシュメモリ14から消去する。そしてフローを終了する。
図9は、本アプリ14bを携帯端末10で起動する場合に行われる起動処理を示すフローチャートである。図9の起動処理が実行されるタイミングは、図5〜図8の処理を開始するために本アプリ14bを初めて起動するタイミングに限られない。図5〜図8の処理中に、エラー発生等によって本アプリ14bが強制終了された場合に、本アプリ14bを再起動するタイミングにおいても、図9の起動処理が行われる。
本アプリ14bが起動されると、S684においてCPU11は、複数のJPEGデータを単数処理アプリケーションに1つずつ共有させる、連続共有処理の実行中であるか否かを判断する。当該判断は、共有アプリ64を識別する情報である共有先アプリ識別情報と、残りページが存在することを示す未処理情報と、が、フラッシュメモリ14に記憶されているか否かによって行われる。例えば、共有先アプリ識別情報と、未処理のページ番号を示す未処理情報と、が記憶されている場合には、連続共有処理の実行中であると判断してもよい。また例えば、共有先アプリ識別情報が記憶されており、かつ、JPEGデータの全ページ数と処理済のページ数を示す情報とを比較し、処理済のページ数が全ページ数よりも小さい場合には、連続共有処理の実行中であると判断してもよい。また例えば、共有先アプリ識別情報と、未処理のJPEGデータのファイル名を示す情報と、が記憶されている場合には、連続共有処理の実行中であると判断してもよい。連続共有処理の実行中ではないと判断される場合(S684:NO)には、フローを終了する。一方、連続共有処理の実行中と判断される場合(S684:YES)には、連続共有処理の処理中に本アプリ14bが強制終了された場合であると判断され、S686へ進む。なお、連続共有処理の実行中であるか否かの判断は、処理中フラグ、共有先アプリ識別情報、未処理情報のうち何れかがフラッシュメモリ14に記憶されているか否かによって行われてもよい。具体的には、処理中フラグ、共有先アプリ識別情報、未処理情報のうち何れかが記憶されている場合には、連続共有処理の実行中であると判断してもよい。
S686においてCPU11は、連続共有処理に復帰する指示を受け付けたか否かを判断する。連続共有処理に復帰する指示を受け付けていない場合(S686:NO)にはフローを終了し、受け付けた場合(S686:YES)にはS660(図8)へ進む。S660においてCPU11は、画像編集画面200(図4)をLCD18に表示させる。またCPU11は、フラッシュメモリ14から読み出した未処理情報に基づいて、未処理のうちで最も若い連続番号が付与されているJPEGデータを特定する。そして、特定したJPEGデータのサムネイル画面を、処理対象サムネイル画像201として表示する。以後の処理内容は、前述した処理内容と同様であるため、説明を省略する。
本明細書に開示されている、本アプリ14bの効果を説明する。本アプリ14bでは、共有先アプリ識別情報をフラッシュメモリ14に記憶させることによって(S624)、共有先アプリ64を記憶させることができる。また本アプリ14bでは、未処理情報をフラッシュメモリ14に記憶させることによって(S648)、未処理のJPEGデータを記憶させることができる。そして、共有先アプリ64で1つのJPEGデータの処理が完了したことを検出することに応じて(S646:YES)、未処理のJPEGデータのうちの1つを、共有先アプリ64で処理させることができる(S638)。これにより、共有先アプリ64が複数のデータを一括して共有する処理に対応していない単数処理アプリケーションである場合においても、複数のJPEGデータを1つずつ共有先アプリ64に処理させる動作を、自動で行うことが可能となる。よって、複数のJPEGデータを1つずつ共有先アプリ64に処理させる、という操作をユーザが繰り返し行う必要を無くすことができるため、ユーザビリティを向上させることが可能となる。
共有元アプリ60である本アプリ14bと共有先アプリ64との関係を記憶する機能が、OS14aに備えられていない場合がある。この場合、ある1つのJPEGデータの共有先アプリ64での処理が完了して、本アプリ14bと共有先アプリ64との関係が解除されると、次の1つのJPEGデータを処理させる共有先アプリが不明となってしまう場合がある。本明細書に開示されている本アプリ14bでは、共有先アプリ識別情報をフラッシュメモリ14に記憶させることによって(S624)、共有先アプリ64を記憶させることができる。これにより、本アプリ14bと共有先アプリ64との関係が解除された場合においても、共有先アプリ識別情報を読み出すことによって(S668)、次の1つのJPEGデータを処理させる共有先アプリを認識することが可能となる。よって、共有先アプリ64が単数処理アプリケーションである場合においても、複数のJPEGデータを1つずつ共有先アプリ64に処理させる動作を、自動で行うことが可能となる。
本アプリ14bに発生したエラー等により、複数のJPEGデータを1つずつ共有先アプリ64に処理させている最中に、本アプリ14bを終了して再起動する必要が発生する場合がある。このような場合においても、不揮発性のフラッシュメモリ14に記憶されている未処理情報に基づいて、共有先アプリ64や未処理のJPEGデータを特定することができるため(S684)、本アプリ14bの再起動後において、未処理のJPEGデータから処理を続行することが可能となる。
本アプリ14bでは、選択された全てのJPEGデータのファイル名の各々に、連続番号を付加することができる(S630)。これにより、共有先アプリ64側に、JPEGデータに割り当てられている順番を通知することができる。よって、共有先アプリ64側で、当該連続番号を用いた処理(例:連続番号に従った順番で画像を表示する処理)を実行することが可能となる。
本アプリ14bでは、一括処理アプリケーションと単数処理アプリケーションとの何れか一方を、共有先アプリ64として選択することができる。そして、一括処理アプリケーションを共有先アプリ64として選択する場合には、共有先アプリ識別情報などの情報をフラッシュメモリ14に記憶させないように制御を行うことができる。よって、処理の簡略化や、フラッシュメモリ14の記憶容量の節約化を図ることが可能となる。
本アプリ14bでは、共有先アプリ64に処理させるJPEGデータについてのサムネイル画像を、自動でLCD18に表示させることができる(S631、S660)。これにより、処理中のJPEGデータをユーザに認識させることができるため、ユーザビリティを向上させることが可能となる。
本アプリ14bでは、1つのJPEGデータを共有先アプリ64で処理させるたびに、画像編集指示の入力を受け付けることができる(S632、S662)。これにより、複数のJPEGデータの各々に対して、異なる画像編集を実行することが可能となる。
本アプリ14bでは、共有先アプリ64から、共有結果取得モードに基づく報知情報を受信することができる(S646)。よって、共有先アプリ64でのJPEGデータの処理が完了したことを検出することが可能となるため、次のJPEGデータを共有先アプリ64に処理させることができる。これにより、複数のJPEGデータを1つずつ共有先アプリ64に処理させる動作を、確実に行うことが可能となる。
OS14aが本アプリ14bの画面を共有先アプリ64の画面に対してフォアグラウンドの位置に表示させることに応じて(S644:YES)、共有先アプリ64でのJPEGデータの処理が完了したことを検出することが可能となるため、次のJPEGデータを共有先アプリ64に処理させることができる。これにより、複数のJPEGデータを1つずつ共有先アプリ64に処理させる動作を、確実に行うことが可能となる。
上記実施形態において、共有先アプリ64は、出力先アプリケーションの一例である。CPU11は、データ共有部の一例である。携帯端末10は、情報処理装置の一例である。CPU11は、コンピュータの一例である。JPEGデータは、処理対象データの一例である。共有先アプリ識別情報は、出力先アプリケーション識別情報の一例である。フラッシュメモリ14は、記憶部の一例である。S624を実行するCPU11は、第1記憶制御手段の一例である。S648を実行するCPU11は、第2記憶制御手段の一例である。S638を実行するCPU11は、処理制御手段の一例である。デバイス制御アプリケーション14bおよび本アプリ14bは、情報処理プログラムの一例である。サムネイル画像111〜115は、識別画像の一例である。S626を実行するCPU11は、表示制御手段の一例である。処理対象サムネイル画像201は、第2識別画像の一例である。S660を実行するCPU11は、第2表示制御手段の一例である。回転処理ボタン202〜セピア処理ボタン204は、第3識別画像の一例である。S664を実行するCPU11は、画像処理制御手段の一例である。本アプリ14bの画面は、第1表示画面の一例である。共有先アプリ64の画面は、第2表示画面の一例である。
ただし、第1記憶制御手段、第2記憶制御手段、処理制御手段、表示制御手段、第2表示制御手段、画像処理制御手段の各々は、ハードウェア単体、または、本発明のプログラムあるいはオペレーティングシステムなど本発明以外のプログラムを実行することにより動作するハードウェアであっても良い。また、これら各部は、複数のプログラムによる処理を組み合わせて動作するハードウェアであっても良い。
以上、実施形態に基づき本発明を説明したが、本発明は上述した実施形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の改良変更が可能であることは容易に推察できるものである。
<変形例>
S660において、次に処理されるJPEGデータの処理対象サムネイル画像201が、画像編集画面200に自動で表示される形態を説明したが、この形態に限られない。手動処理によって、次に処理されるJPEGデータの処理対象サムネイル画像201が表示されるとしてもよい。例えば、次処理実行ボタンが画像編集画面200に表示され、当該次処理実行ボタンがユーザにタッチされることに応じて、次の処理対象サムネイル画像201が表示されるとしてもよい。またS660において、処理させるJPEGデータの選択を受け付ける画面をLCD18に表示させ、選択を受け付けるとしても良い。そして、選択された1つのJPEGデータが、共有先アプリ64で処理されるとしてもよい。
上記実施形態では、マルチページに非対応のフォーマットの一例がJPEGフォーマットであり、マルチページに対応したフォーマットの一例がPDFフォーマットであったが、これに限られるものではない。例えば、PNG、GIF、BMPなど、各種のフォーマットが、マルチページに非対応のフォーマットの一例となり得る。また、DOC、XLSなど、各種のフォーマットが、マルチページに対応したフォーマットの一例となり得る。
画像編集画面200(図4)で受け付けられる回転処理、モノクロ処理、セピア処理は、画像編集処理の一例である。拡大処理、縮小処理などの他の画像編集処理に対応するボタンが、画像編集画面200に表示されるとしてもよい。
データ選択画面110(図4)では、共有データとして指定されたJPEGデータが5つである場合を例として、サムネイル画像111〜115が表示される場合を説明したが、この形態に限られない。共有データとして指定されたJPEGデータが、6つ以上であってもよい。この場合、全てのサムネイル画像が1つの画面上にまとめて表示できない場合には、スクロール表示によって全てのサムネイル画像を表示するとしてもよい。
画像編集処理の対象となるJPEGデータの1回目の選択を行うS633の選択態様と、2回目以降の選択を行うS664の選択態様とが、異なっていてもよい。例えば、S633の選択態様は、連続番号が付加されている全てのJPEGデータを、画像編集処理の対象に選択する態様であってもよい。またS664の選択態様は、画像編集画面200(図4)に表示されている処理対象サムネイル画像201に対応するJPEGデータを、画像編集処理の対象に選択する態様であってもよい。
S656を省略してもよい。この場合、連続共有確認表示をLCD18に表示させることなく、連続共有処理が自動的に続行されるとしてもよい。
S670において、共有処理の実行指示の入力とともに、画像編集の指示入力を受け付けるとしてもよい。例えば、JPEGデータを縦向きで共有するボタンと、JPEGデータを横向きで共有するボタンが表示されるとしてもよい。そして、JPEGデータを縦向きで共有するボタンがタッチされると、共有処理の実行指示の入力とともに、JPEGデータを縦向きにする画像編集の指示入力が受け付けられるとしてもよい。これにより、ユーザが指示を入力する回数を減少させる事が可能となる。
例えば、上記実施形態では、通話機能を有する携帯端末10が情報処理装置の一例であったが、パーソナルコンピュータ、デジタルカメラなどの通話機能を持たない各種の装置であっても情報処理装置の一例となり得る。また、タッチパネル17を有しておらず、ハードキーから操作を入力する装置についても、本発明を適用可能である。
また、上記実施形態においては、携帯端末10に着脱可能なメモリカード20にJPEGデータおよびPDFデータが記憶されるものとして説明した。これらのデータは、例えば、携帯端末10に内蔵されたフラッシュメモリ14に記憶されても良い。
また、上記実施形態において、スキャナデータを画像データの一例として説明したが、画像データはこれに限られるものではなく、例えば、携帯端末10に内蔵されたデジタルカメラで撮影された画像データであっても良い。また、LCD18に表示させるスキャン画像71のサイズに合わせて、スキャンデータを縮小または拡大して生成したデータが、画像データの一例であっても良い。また、携帯端末10において、LCD18にスキャン画像71を表示させるために、スキャンデータを所定のフォーマットに変換する場合には、その所定のフォーマットに変換されたデータが、画像データの一例であっても良い。
また、上記実施形態において、スキャンデータは、RAW画像データであるものとして説明したが、スキャンデータとしてJPEGデータをデバイス30から取得する場合にも、本発明を適用できる。
また、上記実施形態では、「作成」とは、デバイス30から取得した画像データを、選択されたフォーマットのファイルに変換することであった。また、この場合、共有データのURIは、ファイルパスで構成されるものとして説明した。しかしながら、「作成」とは、デバイス30から取得した画像データを、処理対象フォーマットのコンテンツに変換することであっても良い。その場合、共有データのURIは、例えば、「Contents:///devicecontrol1/attach/1」のようにアプリケーション中のインデックスやIDでデータを特定する形式である、コンテンツ形式で構成される。
また、上記実施形態においては、共有データがPDFデータである場合、および、単数のJPEGデータである場合、アクションの値として「VIEW」を指定していた。しかしながら、例えば「SEND」など、他のアクションを指定しても良い。また、共有データがPDFデータである場合は「VIEW」を指定し、単数のJPEGデータである場合は「SEND」を指定するなど、互いに異なるアクションの値を指定してもよい。
また、上記実施形態においては、OS14aはアンドロイドOSであるものとして説明したが、他のOSが搭載された情報処理装置であっても本発明を適用可能である。
また、上記実施形態において、共有機能はOS14aによって実現されるものとして説明したが、これに代えて、例えばハードウェアやミドルウェアによって共有機能が実現される場合にも本発明を適用可能である。
また、上記実施形態において、携帯端末10とデバイス30との間は、Wi−Fi接続されるものとして説明したが、これに代えて、例えば、Bluetooth(登録商標)により接続される場合にも、本発明を適用可能である。
また、上記実施形態においては、ユーザが共有ボタン74にタッチした場合に、フォーマット選択画面77をLCD18に表示させていたが、これに代えて、フォーマット選択画面77によりフォーマットをユーザに選択させた後に、共有ボタン74をLCD18に表示させ、共有機能の実行指示を受け付けても良い。また、フォーマット選択画面77をLCD18に表示させ、フォーマットをユーザに選択させた後、デバイス30に対して、スキャンの実行を指示するように構成しても良い。
また、上記実施形態においては、共有先アプリ一覧画面81(図3)に含まれるアプリケーションの名称82が、アプリケーションを識別する画像として用いられる場合を説明したが、アプリケーションを識別する画像として、アプリケーションのアイコン画像が用いられても良い。
また、上記実施形態においては、携帯端末10の明示的共有機能を利用していたが、暗黙的共有機能を利用する場合においても、本発明を適用可能である。すなわち、図2(a)を参照して説明したように、暗黙的共有機能においては、共有先アプリ一覧画面81の表示後における、共有先アプリ64の選択(5)、および共有先アプリ64の起動(6)について、共有元アプリ60は関与しない。よって、データの作成完了前に共有先アプリ一覧画面81を表示させてしまうと、データの作成完了前に、ユーザが共有先アプリ一覧画面81から共有先アプリ64を選択し、さらに、その共有先アプリ64がOS14aによって起動され、共有データへのアクセスを開始してしまう事態が発生し得る。その場合、共有先アプリ64は、OS14aから通知された共有データにアクセスすることができないので、ユーザは、原因不明な待ち時間やエラーに対処しなければならず、ユーザにとって不便を強いる可能性がある。しかしながら、本発明を適用すれば、上記実施形態で説明したように、処理対象データが作成された後に、共有先アプリ一覧画面81を表示させるので、OS14aの暗黙的共有機能を利用する場合であっても、上記の不都合が解消されるのである。
また、上記実施形態では、本アプリ14bは、2種類のフォーマットのデータを作成させるものとして説明した。しかしながら、本発明は、3種類以上のフォーマットのデータを作成させるプログラムにも適用可能である。