以下、本発明の好ましい実施形態について、添付図面を参照して説明する。図1は、本発明の情報処理プログラムの一実施形態であるデバイス制御アプリケーション14b(以下、本アプリ14b)が搭載された携帯端末10の電気的構成を示すブロック図である。本アプリ14bは、共有先アプリケーションの起動において、ユーザに唐突な感じを与えることを抑制できるように構成されている。
携帯端末10は、携帯電話網200を介して、他の装置との間で音声通話を行い、またはインターネットを利用可能な携帯電話機である。また、携帯端末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をアプリケーションが用いることにより、アプリケーションを検索する検索機能、および、アプリケーション間でデータを受け渡す共有機能(インテント機能)が実現される。検索機能および共有機能については、図2(a)を参照して後述する。
本アプリ14bは、パーソナルコンピュータなどを経由せずに、携帯端末10から直接、デバイス30のスキャン機能およびプリンタ機能を利用するためのアプリケーションである。本アプリ14bには、起動履歴テーブル14b1が設けられている。起動履歴テーブル14b1の構成については、図2(b)を参照して後述する。
無線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からJPEG形式の画像データを受信し、メモリカード20に格納する。
音声入出力部21は、マイクやスピーカなどで構成された音声入出力用デバイスであり、電話網通信部22は、携帯電話網200を介した通信を行うための回路である。携帯電話網200は、IMT−2000(International Mobile Telecommunication-2000)方式の通信網であって、携帯端末10による音声通話の利用を可能にする。
なお、携帯端末10にインストールされた各アプリケーション(本アプリ14bを含む)は、OS14aのAPIを呼び出して、無線LAN送受信部15、操作キー16、タッチパネル17、LCD18、メモリカードI/F19、音声入出力部21、電話網通信部22など、携帯端末10の各構成に受け渡したいデータをOS14aに出力する。すなわち、各アプリケーションは、OS14aのAPIを呼び出すことによって、携帯端末10の各構成を制御する。また、各アプリケーションは、OS14aのAPIを呼び出して、携帯端末10の各構成が出力するデータや各構成の状態を示すデータをOS14aから取得する。すなわち、OS14aのAPIを呼び出すことによって、携帯端末10の各構成の状態(携帯端末10への操作入力の状態も含む)を示すデータをOS14aから取得する。また、OS14aは、携帯端末10の各構成が出力するデータや各構成の状態を示すデータを、定期的に、あるいは各構成の状態変化の都度、各アプリケーションに通知することもある。すなわち、各アプリケーションは、OS14aからの通知を受けることによって、携帯端末10の各構成の状態(携帯端末10への操作入力の状態も含む)を示すデータをOS14aから取得する。
デバイス30は、スキャン機能、プリンタ機能などを有する複合機であって、携帯端末10の無線LAN送受信部15と同様に構成された無線LAN送受信部(図示せず)を備え、アクセスポイント50を介した無線通信により、携帯端末10とWi−Fi接続される。デバイス30は、本アプリ14bにより印刷の実行が指示されると、携帯端末10から受信するデータに基づいて画像を印刷し、また、本アプリ14bによりスキャン開始が指示されると、原稿の画像を読み取って画像データを生成し、携帯端末10へ送信する。
図2(a)を参照して、OS14aの検索機能および共有機能を説明する。検索機能は、携帯端末10にインストールされた全てのアプリケーション(以下、全てのアプリ62)を検索し検索条件を満たすアプリケーションを抽出する機能である。共有機能は、共有元アプリケーションにおいて指定されたデータを処理させるために共有先アプリケーション(以下、共有先アプリ64)を起動し、当該共有先アプリ64の画面をLCD18に表示させる機能である。以下、詳細を説明する。
図2(a)は、本アプリ14bが検索機能の実行をOS14aに要求し、その後、共有先アプリ64を指定して共有機能の実行を要求する場合における処理の流れを模式的に示す図である。
本アプリ14bは、ユーザが共有機能の実行を指示した場合に、OS14aのAPIを呼び出すことにより、アプリケーションの検索をOS14aに要求する(21)。ここで、検索条件としては、処理可能なデータの形式を示すタイプと、実行可能な処理の種類を示すアクションとを指定できる。本アプリ14bは、タイプとアクションとを指定して、OS14aに対して検索を要求する。なお、タイプおよびアクションのうち、いずれか一方について値を指定しても良いし、両方について値を指定しても良い。
一方、OS14aは、本アプリ14bから指定される検索条件に基づき、全てのアプリ62の中から、検索条件を満たすアプリケーションを検索する(22)。具体的には、携帯端末10にインストールされた各アプリケーションは、自アプリケーションにより処理可能なデータ形式を示すタイプと、実行可能な処理の種類を示すアクションとを予め宣言している。よって、OS14aは、検索条件に合致する宣言をしているアプリケーションを全てのアプリ62の中から抽出する(23)。ただし、各アプリケーションが宣言するタイプ、アクションは、各アプリケーションの開発者が自由に設定できるものである。したがって、実際には対応していないタイプまたはアクションを、各アプリケーションが宣言している場合があり得る。よって、「検索条件を満たすアプリケーション」とは、本アプリ14bが要求する検索条件に合致した宣言をしているアプリケーションを意味し、宣言通りの処理を実行可能であることまでは要求しない。
次に、本アプリ14bは、OS14aにより抽出された検索条件を満たすアプリケーションを示す検索結果情報をOS14aから取得する(24)。本実施形態において、検索結果情報とは、検索条件を満たすアプリケーションの各々について、アプリケーション名(アプリ名)とクラス名とを含むものとする。本アプリ14bは、検索結果情報として取得したアプリ名の一覧である共有先アプリ選択画面(図6(a)を参照して後述)をLCD18に表示させ(25)、ユーザによる選択を受け付ける(26)。
次に、本アプリ14bは、共有先アプリ選択画面においてユーザにより選択されたアプリケーションを共有先アプリ64として指定して、タイプおよびアクションと共に、共有データの所在を示すURIをOS14aへ出力し、共有機能の実行をOS14aに要求する(27)。
一方、OS14aは、本アプリ14bが指定した共有先アプリ64を起動して、その共有先アプリ64の画面をフォアグラウンド(前面)に表示させ、本アプリ14bから通知された共有データのURI、タイプおよびアクションを出力する(28)。
その結果、携帯端末10においては、ユーザにより選択された共有先アプリ64の画面がフォアグラウンドに表示され、共有先アプリ64は、OS14aから通知されたURIで特定される共有データにアクセスし、OS14aから通知されたアクションに従った処理を実行する。例えば表示出力する、電子メールに添付して送信する、編集するなど、その共有先アプリ64で実行可能な処理を行う。この共有機能によって、ユーザは、本アプリ14bの機能と、共有先アプリ64の機能とを組み合わせて利用でき、利便性が良い。
なお、本アプリ14bは、自己共有可能に構成されているものとする。ここで、自己共有とは、共有元のアプリケーションと、共有先アプリ64とを同一のアプリケーションとして、共有機能を実行することを意味している。本アプリ14bの場合、デバイス30がスキャン機能により生成した画像データをデバイス30から取得し、これを共有データとする。そして、本アプリ14b自身を共有先アプリ64として指定することにより、本アプリ14bのプリンタ制御機能を起動させ、デバイス30から取得した画像データを共有データとして、本アプリ14bのプリンタ制御機能によりデバイス30へ送信し、画像を印刷させる。これにより、デバイス30においては、最初に読み取った原稿画像のコピー画像を印刷することになる。このように、本アプリ14bで自己共有を行う場合には、本アプリ14bのスキャン制御機能とプリンタ制御機能とを組み合わせ、デバイス30にコピー機能を実現させることができる。
図2(b)は、起動履歴テーブル14b1の一例を示す図である。図に示すように、起動履歴テーブル14b1は、共有タイプと、起動済アプリ名とを対応づけて記憶する。
共有タイプは、本アプリ14bを共有元アプリケーションとする共有機能の実行において、共有先アプリ64に処理させる共有データの形式を示す。本アプリ14bでは、共有タイプとして指定可能な形式は、「PDF」、「JPEG」、及び、「MSWORD」の3種類であるものとする。「MSWORD」は、マイクロソフト(登録商標)ワードの文章ファイルのデータ形式を意味する。
本アプリ14bは、共有元アプリケーションとしての処理を実行する場合、上記3種類の形式のデータを共有データとして出力可能である。ただし、本アプリ14bが共有先アプリ64として処理を実行する場合、本アプリ14bは、「PDF」、「JPEG」の2種類のみ、データを処理可能であるものとする。したがって、共有タイプとして「PDF」または「JPEG」のいずれかが選択された場合、本アプリ14bは上述した自己共有を実行することができるが、「MSWORD」が選択された場合、自己共有を実行することはできない。
起動済アプリ名は、本アプリ14bを共有元アプリケーションとする共有機能の実行において、過去に、共有先アプリ64として指定されたアプリケーションのアプリ名を示す。なお、一の共有タイプには、一の起動済アプリ名が対応づけられるか、または、何も対応づけられない。例えば、過去に、共有タイプとして「MSWORD」を指定して共有機能を実行した場合において、「アプリ1」が共有先アプリ64として起動されたのであれば、「MSWORD」に対応する起動済アプリ名として「アプリ1」が記憶される。また、共有タイプとして「JPEG」を指定して共有機能を実行したことがない場合には、共有タイプ「JPEG」に対応する起動済アプリ名は記憶されない。
図3は、本アプリ14bに従い、携帯端末10のCPU11が実行する共有処理を示すフローチャートである。この処理は、デバイス30から受信した画像データを適切なデータ形式に変換して、共有先アプリ64に渡す処理である。この処理は、本アプリ14bの操作受け付け画面(図示せず)において、原稿のスキャン要求がユーザにより入力された場合に実行される。
なお、図3および後述する図5のフローチャートに示す各ステップは、本アプリ14bがCPU11に実行させ、または、本アプリ14bがOS14aなどの機能を利用してCPU11に実行させるものとして説明する。ただし、各フローチャートが含むステップは、OS14aやその他アプリケーションがCPU11に実行させるステップに一部置き換えられても良い。また、CPU11の関与によらず、携帯端末10に設けられたハードウェアそのものが作動することによって実現されるステップに、一部置き換えられても良い。
まず、CPU11は、デバイス30に対してスキャン開始指示を送信する(S301)。デバイス30は、スキャン開始指示を受信すると、原稿台(図示せず)にセットされた原稿を読み取り、その原稿に対応するJPEG形式の画像データを生成し、携帯端末10へ送信する。次に、CPU11は、デバイス30から画像データを受信し(S302)、メモリカード20に記憶させる(S303)。
次に、CPU11は、プレビュー画面70をLCD18に表示させる(S304)。図4(a)は、プレビュー画面70の一例を示す図である。この画面70は、デバイス30から受信した画像データをユーザに確認させるための画面であり、画像表示エリア71と、共有ボタン72と、終了ボタン73とを含む。
画像表示エリア71は、画像データに対応した画像が表示されるエリアである。共有ボタン72は、画像表示エリア71に表示中の画像データについて、共有機能の実行指示(共有指示)を、ユーザに入力させるためのボタンである。終了ボタン73は、プレビュー画面70を閉じる指示(終了指示)を、ユーザに入力させるためのボタンである。
図3に戻り説明する。プレビュー画面70において、ユーザ指示が入力されない場合、すなわち、いずれのボタン72,73も押下されない場合(S305:No)、CPU11は、次のステップに進まない。一方、ユーザ指示が入力され(S305:Yes)、その指示がプレビュー画面70の終了指示である場合(S306:終了)、CPU11は、本処理を終了する。一方、入力された指示が共有指示である場合(S306:共有)、CPU11は、共有タイプ選択画面80をLCD18に表示させる(S307)。
図4(b)は、共有タイプ選択画面80の一例を示す図である。本アプリ14aは、この共有タイプ選択画面80により、共有先アプリ64に処理させる共有データの形式(共有タイプ)を選択する操作を受け付ける。この画面80は、PDF選択ボタン81と、JPEG選択ボタン82と、MSWORD選択ボタン83とを含む。
PDF選択ボタン81は、共有タイプとしてPDFの選択を受け付けるためのボタンであり、JPEG選択ボタン82は、共有タイプとしてJPEGの選択を受け付けるためのボタンであり、MSWORD選択ボタン83は、共有タイプとしてMSWORDの選択を受け付けるためのボタンである。
図3に戻り説明する。共有タイプ選択画面80において、共有タイプが選択されない場合、すなわち、いずれの選択ボタン81〜83も押下されない場合(S308:No)、CPU11は、次のステップに進まない。一方、共有タイプが選択された場合(S308:Yes)、CPU11は、共有先アプリ64を決定する共有先アプリ決定処理を実行する(S309)。共有先アプリ決定処理は、ユーザによって選択された共有タイプの形式のデータを処理可能なアプリケーションを、共有先アプリ64として決定する処理であるが、詳細は図5を参照して後述する。
次に、共有タイプがPDFの場合(S310:PDF)、CPU11は、デバイス30から受信したJPEG形式の画像データをメモリカード20から読み出し、その形式をPDF形式のデータ(PDFデータ)に変換する(S311)。また、共有タイプがMSWORDの場合(S310:MSWORD)、CPU11は、JPEG形式の画像データを、ワード形式のデータ(ワードデータ)に変換する(S312)。すなわち、スキャナ30から受信した画像データの形式が、共有タイプと異なる場合には、当該画像データの形式を変換することにより、共有タイプのデータを取得するのである。なお、PDFデータやワードデータは、メモリカード20に格納される。
一方、共有タイプがJPEGの場合(S310:JPEG)、CPU11は、画像データの変換を行わずに、S313の処理へ移行する。
次に、CPU11は、共有先アプリ決定処理(S309)で決定した共有先アプリ64を指定して、共有機能の実行をOS14aに要求する(S313)。ここでは、共有タイプとして選択された形式のデータのURIをOS14aに通知することにより、共有タイプのデータを、共有先アプリ64に処理させるべき共有データとして指定する。一方、OS14aは、共有先アプリ64として指定されたアプリケーションを起動させ、当該アプリケーションに共有データを処理させる。
共有処理によれば、共有タイプを選択する操作を受け付ける。そして、共有タイプとして選択された形式のデータを、共有データとして指定し、且つ、共有タイプとして選択された形式のデータを処理可能なアプリケーションが、共有先アプリ64として起動される。例えば、ユーザが共有タイプとしてPDFを選択した場合には、PDFデータが共有データとして指定され、PDFデータを処理可能なアプリケーションが共有先アプリ64として起動される。よって、ユーザが選択した形式に応じた制御を実行できる。
また、デバイス30から受信した画像データの形式が、共有タイプとして選択された形式と異なる場合、当該画像データの形式を変換することにより共有タイプの形式のデータが取得されるので、デバイス30から受信したデータを、ユーザが選択した形式に応じて適切に処理できる。
図5は、本アプリ14bに従い、携帯端末10のCPU11が実行する共有先アプリ決定処理(S309)を示すフローチャートである。この処理は、携帯端末10にインストールされている複数のアプリケーション(本アプリ14bを含む)の中から、共有先アプリ64を決定する処理である。
まず、CPU11は、検索条件を指定して、検索条件を満たすアプリケーションの検索の実行をOS14aに要求する(S501)。図2(a)を参照して説明したように、検索条件としては、処理可能なデータの形式を示すタイプと、実行可能な処理の種類を示すアクションとを指定可能である。本実施形態では、共有タイプ選択画面80(図4(b))において、共有タイプとして選択された形式をタイプとして指定する。例えば、共有タイプとしてユーザがPDFを選択した場合、検索条件のタイプとして「PDF」を指定する。また、検索条件のアクションとしては、データ送信を実行可能であることを示す「SEND」を指定するものとする。
次に、本アプリ14bの要求に応じてOS14aが抽出した、検索条件を満たすアプリケーションを示す検索結果情報をOS14aから取得する。すなわち、共有タイプとして選択された形式のデータを処理可能であって、且つ、データ送信可能なアプリケーションを示す検索結果情報を取得する(S502)。
検索結果情報が示すアプリケーションが複数である場合、すなわち、検索条件を満たすアプリケーションが複数抽出された場合(S503:Yes)、CPU11は、共有先アプリ選択画面90をLCD18に表示させる(S504)。
図6(a)は、共有先アプリ選択画面90の一例を示す図である。この画面90は、検索条件を満たす複数のアプリケーションのうち1つを、ユーザに選択させるための画面であり、複数のアプリ選択ボタン91〜93を含む。アプリ選択ボタン91〜93は、OS14aから受信したアプリ名毎に個別に設けられる。このボタン91〜93のいずれか1つが押下されると、そのボタン91〜93に対応するアプリケーションが、共有先アプリ64として選択される。
図5に戻り説明する。共有先アプリ選択画面90において、アプリ選択ボタン91〜93が押下されない場合(S508:No)、CPU11は、次のステップに進まない。一方、いずれかのアプリ選択ボタン91〜93が押下されて、アプリケーションが選択された場合(S508:Yes)、CPU11は、選択されたアプケーションを共有先アプリ64として決定し(S509)、S513へ移行する。すなわち、検索条件を満たすアプリケーションが複数存在する場合には、ユーザが自らの意思で、共有先アプリ64を選択することができる。
一方、検索結果情報が示すアプリケーションが1つである場合、すなわち、検索条件を満たすアプリケーションが1つのみであった場合(S503:No)、CPU11は、その1つのアプリケーションを特定するアプリ名が、起動履歴テーブル14b1に記憶されているかを判断する(S505)。具体的には、その1つのアプリケーションのアプリ名が、当該1つのアプリケーションの抽出に用いられた共有タイプに対応する起動済アプリ名として、起動履歴テーブル14b1に記憶されているかを判断する。
例えば、ユーザが共有タイプとして、MSWORDを選択した場合であって、且つ、検索により1つのアプリケーションのみが抽出された場合には、そのアプリケーションのアプリ名が、共有タイプ「MSWORD」に対応する起動済アプリ名として、起動履歴テーブル14b1に記憶されているかを判断する。
検索により抽出された1つのアプリケーションのアプリ名が、共有タイプに対応する起動済アプリ名として記憶されている場合(S505:Yes)、CPU11は、その1つのアプリケーションを、共有先アプリ64として決定し(S515)、S310へ移行する。そして、決定した共有先アプリ64を指定して、共有機能の実行をOS14aに要求する(S313)。
一方、検索結果情報が示す1つのアプリケーションのアプリ名が、共有タイプに対応する起動済アプリ名として、起動履歴テーブル14b1に記憶されていない場合(S505:No)、CPU11は、その1つのアプリケーションが本アプリであるか否かを判断する(S506)。
その1つのアプリケーションが本アプリ14bではない場合(S506:No)、CPU11は、第1の共有先アプリ確認画面100をLCD18に表示させてから(S507)、S508の処理へ移行する。
図6(b)は、第1の共有先アプリ確認画面100の一例を示す図である。この画面100は、1つのアプリ選択ボタン101と、チェックボックス102とを含む。
アプリ選択ボタン101は、検索により抽出された1つのアプリケーションを、共有先アプリ64として選択する操作をタッチパネル17により受け付けるためのボタンであり、当該1つのアプリケーションに対応するアプリ名を含む。なお、アプリ選択ボタン101に代えて、当該1つのアプリケーションに対応するアイコンを表示させても良い。
このアプリ選択ボタン101によって、これから共有先アプリ64として起動されることになるアプリケーションを、ユーザに事前に示すことができる。すなわち、ユーザは、第1の共有先アプリ確認画面100によって、これから共有先アプリ64として起動されることになるアプリケーションを認識した上で、当該アプリケーションの画面を閲覧する。したがって、共有先アプリ64として選択可能なアプリケーションが1つしか存在せず、ユーザにとって選択の余地がない場合であっても、共有先アプリ64の画面の表示前には、第1の共有先アプリ確認画面100が表示されるので、ユーザに唐突な感じを与えることを抑制できる。
チェックボックス102は、共有先アプリ64としてこれから起動することになるアプリケーションのアプリ名(すなわちアプリ選択ボタン101に示されるアプリ名)を、起動済アプリ名として起動履歴テーブル14b1に記憶させるか否かを、タッチパネル17より受け付けるためのチェックボックスである。
チェックボックス102にチェックを入れた状態でアプリ選択ボタン101が押下された場合、本アプリ14bは、アプリ選択ボタン101が示すアプリ名を、現在選択している共有タイプに対応する起動済アプリ名として、起動履歴テーブル14b1に記憶させる。この場合、次回以降に同じ共有タイプが選択されて、同じアプリケーションが検索により抽出されると、当該アプリケーションのアプリ名は、共有タイプに対応する起動済アプリ名として記憶されているものと判断されるので、S505の判断が肯定される。この場合(S505:Yes)、第1の共有先アプリ確認画面100を表示することなく、検索により抽出されたアプリケーションが、共有先アプリ64として起動されることになる。
アプリ名が起動済アプリ名として記憶されているアプリケーション、すなわち、過去に共有先アプリ64としての起動実績があるアプリケーションを、再度、共有先アプリ64として起動させる場合には、第1の共有先アプリ確認画面100の表示を経ずにいきなり共有先アプリ64を起動させたとしても、ユーザに対して唐突な感じや戸惑いを与える可能性は低いからである。
なお、チェックボックス102にチェックを入れない状態でアプリ選択ボタン101が押下された場合、本アプリ14bは、アプリ選択ボタン101が示すアプリ名を、起動履歴テーブル14b1に記憶させない。その場合、次回の共有処理において、この第1の共有先アプリ確認画面100が再度表示される。
図5に戻り説明する。第1の共有先アプリ確認画面100において、アプリ選択ボタン101が押下されない場合(S508:No)、CPU11は、次のステップに進まない。一方、アプリ選択ボタン101が押下された場合(S508:Yes)、CPU11は、検索結果情報が示す1つのアプリケーションを共有先アプリ64として決定し(S509)、S513へ移行する。
一方、検索結果情報が示す1つのアプリケーションが本アプリ14bである場合(S506:Yes)、CPU11は、本アプリ14bを共有先アプリ64として決定し(S510)、第2の共有先アプリ確認画面110をLCD18に表示させる(S511)。
図6(c)は、第2の共有先アプリ確認画面110の一例を示す図である。この画面110は、テキストボックス111と、チェックボックス102と、OKボタン112とを含む。
テキストボックス111は、本アプリ14bを共有先アプリ64とすることを示すテキストを含む。これにより、ユーザは、共有元アプリである本アプリ14bが、共有先アプリ64としても起動されることを、事前に認識できる。
チェックボックス102は、第1の共有先アプリ確認画面100が含むチェックボックス102と同様に、共有先アプリ64としてこれから起動することになるアプリケーションのアプリ名(すなわち本アプリ14bのアプリ名)を、起動済アプリ名として起動履歴テーブル14b1に記憶させるか否かを、タッチパネル17より受け付けるためのチェックボックスである。
第2の共有先アプリ確認画面110において、OKボタン112が押下されると、本アプリ14bが共有先アプリ64として起動される。なお、チェックボックス102にチェックを入れた状態でOKボタン112が押下された場合、本アプリ14bのアプリ名が、現在選択している共有タイプの起動済アプリ名として記憶される。一方、チェックボックス102にチェックを入れない状態でOKボタン112が押下された場合、本アプリ14bのアプリ名を起動済アプリ名として記憶させない。
図5に戻り説明する。第2の共有先アプリ確認画面110において、OKボタン112が押下されない場合(S512:No)、CPU11は、次のステップに進まない。一方、OKボタン112が押下された場合(S512:Yes)、CPU11は、S513へ移行する。
第1の共有先アプリ確認画面100、又は、第2の共有先アプリ確認画面110において、チェックボックス102がチェックされていなかった場合(S513:No)、CPU11は、S310に戻り、決定した共有先アプリ64を指定して、共有機能の実行をOS14aに要求する(S313)。
一方、チェックボックス102がチェックされていた場合(S513:Yes)、すなわち、アプリ名を起動履歴テーブル14b1に記憶させることを受け付けた場合、CPU11は、共有先アプリ64として決定したアプリケーションのアプリ名を、現在選択している共有タイプの起動済アプリ名として、起動履歴テーブル14b1に記憶させる(S514)。すなわち、共有先アプリ64として起動されるアプリケーションのアプリ名を、当該アプリケーションの抽出に用いられた検索条件のタイプ(共有タイプ)に対応づけて記憶させる。
そして、CPU11は、S310へ戻り、決定した共有先アプリ64を指定して、共有機能の実行をOS14aに要求する(S313)。一方、OS14aは、共有先アプリ64として指定されたアプリケーションを起動させ、その画面をLCD18のフォアグラウンドに表示させる。
図6(d)は、共有先アプリ64として起動されたアプリケーションの画面120を示す図である。共有先アプリ64として起動された場合に表示される画面120のデザインは、アプリケーション毎に異なる。図6(d)に示す共有アプリ64の画面120は一例である。
本実施形態の共有処理によれば、検索結果情報が示すアプリケーションが複数である場合(S503:Yes)、図6(a)に示す共有先アプリ選択画面90が表示され(S504)、その中からユーザによって選択された1のアプリケーションが、共有先アプリ64として決定され(S509)、次に、図6(d)に示す共有先アプリ64の画面120が表示されることになる。この場合、ユーザは、共有先アプリ64を自らの意思で選択した後、その共有先アプリ64の画面120を視認するので、唐突な感じや戸惑いはほとんど感じない。
一方、検索結果情報が示すアプリケーション情報が1つである場合であって、当該1つのアプリケーションのアプリ名が、現在選択している共有タイプの起動済アプリ名として記憶されていない場合には、第1の共有先アプリ確認画面100または第2の共有先アプリ確認画面110をLCD18に表示させた後に、OS14aに対し前記1つのアプリケーションを共有先アプリ64として起動することを要求する。これにより、共有先アプリ64の起動において、ユーザに唐突な感じを与えることを抑制できる。
すなわち、ユーザは、第1の共有先アプリ確認画面100(図6(b))または第2の共有先アプリ確認画面110(図6(c))を視認した上で、共有先アプリ64として起動されるアプリケーションの画面120(図6(d))を視認する。したがって、共有先アプリ64の起動において、ユーザに唐突な感じを与えることを抑制できる。
より具体的には、検索により1つのアプリケーションのみが抽出され、そのアプリケーションのアプリ名が、現在選択されている共有タイプの起動済アプリ名として記憶されていない場合、当該1つのアプリケーションが共有先アプリ64として起動されることを、共有先アプリ確認画面100,110により事前にユーザに認識させた上で、当該1つのアプリケーションの画面120を表示させることができる。
したがって、共有先アプリ64として今まで起動されたことがないアプリケーションが、共有先アプリ64として初めて起動される場合であっても、ユーザは戸惑うことがなく、快適に使用できる。
なお、検索により抽出されたアプリケーションが本アプリ14bのみであり、且つ、本アプリ14bのアプリ名が起動済アプリ名として記憶されていない場合(S506:Yes)、第2の共有先アプリ確認画面110が表示されるので、ユーザは、自己共有であることを認識した上で(すなわち共有元、共有先の両アプリが本アプリ14bであることを認識した上で)、共有先アプリ64としての本アプリ14bの画面を視認する。よって、初めて自己共有が実行される場合であっても、ユーザは戸惑うことがなく、快適に使用できる。
また、共有先アプリ確認画面100,110のチェックボックス102にチェックが入っている場合、共有先アプリ64として起動させるアプリケーションのアプリ名が起動履歴テーブル14b1に記憶されるので、その後は、当該アプリケーションのアプリ名が記憶されていると判断させることができる。
この場合(S505;Yes)、共有先アプリ選択画面90、アプリ確認画面100,110のいずれも表示させることなく、共有先アプリ64の画面120を表示させることができる。ユーザにとっては、共有先アプリ64の選択操作や、OKボタン112の操作を経ずに、共有先アプリ64を起動させることができるので、ユーザの操作負担を軽減できる。
また、検索により抽出された1つのアプリケーションのアプリ名が、起動済アプリ名として記憶されているか否かを判断する際には、当該1つのアプリケーションの抽出に用いられた共有タイプに対応づけて、アプリ名が起動履歴テーブル14b1に記憶されているかが判断されるので、共有タイプ毎に適切な制御が実行される。
例えば、共有タイプとしてMSWORDが選択され、共有先アプリ64として「アプリ1」が起動された場合において、次回以降、共有タイプとして再度、MSWORDが選択された場合には、共有先アプリ確認画面100の表示を経ずに、アプリ1の画面120を表示させたとしても、ユーザに戸惑いを与える虞は小さい。
これに対し、共有タイプとしてMSWORDが選択された場合には、アプリ1を共有先アプリ64として起動した実績があるが、共有タイプとしてJPEGが選択された場合には、アプリ1を共有先アプリ64として起動した実績がない場合を考える。この場合、共有タイプとしてJPEGが選択され、検索条件を満たすアプリケーションが「アプリ1」のみであった場合、当該アプリ1の画面120を突然起動すると、ユーザに戸惑いを与える虞がある。共有タイプが異なれば、共有先アプリ64として異なるアプリケーションを選択するものとユーザが考えている可能性があるからである。
本実施形態によれば、共有タイプ毎に起動済アプリ名を対応づけて記憶しているので、共有タイプ毎に共有先アプリ64の起動の実績を判断でき、共有タイプ毎に適切な制御を実行できる。
また、本実施形態によれば、チェックボックス102にチェックを入れることで、アプリ名を起動履歴テーブル14b1に記憶させることをユーザが選択した場合に、アプリ名が記憶されるので、ユーザの好みに応じた制御が実行される。例えば、ユーザは、次回以降の共有処理においても、共有先アプリ64を事前に確認したいのであれば、チェックボックス102にチェックを入れなければ良い。この場合は、次回以降の共有処理において、同じアプリケーションが検索により抽出された場合であっても、アプリ確認画面100,110が表示されるので、ユーザは、共有先アプリ64として起動されるアプリケーションを事前に知ることができる。
上記実施形態において、携帯端末10が情報処理装置の一例である。本アプリ14bが情報処理プログラムの一例である。共有データが共有元アプリケーションにおいて指定されたデータの一例である。LCD18が表示部の一例である。CPU11が共有部、コンピュータ、及び、検索部の一例である。起動履歴テーブル14b1が記憶部の一例である。アプリ選択ボタン101がアプリケーション情報の一例である。共有タイプがタイプ情報の一例である。アクションが処理種類情報の一例である。デバイス30が読取装置の一例である。JPEG形式の画像データがスキャンデータの一例である。タッチパネル17が操作部の一例である。第1の共有先アプリ確認画面100が第1報知情報の一例である。第2の共有先アプリ確認画面110が第2報知情報の一例である。
S501を実行するCPU11が検索要求手段および検索要求ステップの一例である。S502を実行するCPU11が取得手段および取得ステップの一例である。S505を実行するCPU11が判断手段および判断ステップの一例である。S515,S313を実行するCPU11が第1共有要求手段および第1共有要求ステップの一例である。S507,S511を実行するCPU11が表示制御手段および表示制御ステップの一例である。S509,S313またはS510,S313を実行するCPU11が第2共有要求手段および第2共有要求ステップの一例である。S514を実行するCPU11が記憶制御手段の一例である。S307を実行するCPU11が選択受付手段の一例である。S303,S310〜S312を実行するCPU11がデータ取得手段の一例である。S313を実行するCPU11がデータ指定手段の一例である。S507,S511を実行するCPU11が記憶選択受付手段の一例である。
ただし、表示部、共有部、検索部の各部は、ハードウェア単体、または、本発明のプログラムあるいはオペレーティングシステムなど本発明以外のプログラムを実行することにより動作するハードウェアであっても良い。また、これら各部は、複数のプログラムによる処理を組み合わせて動作するハードウェアであっても良い。また、操作部は操作キー16(ハードキー)であっても良い。
以上、実施形態に基づき本発明を説明したが、本発明は上述した実施形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の改良変更が可能であることは容易に推察できるものである。
例えば、上記実施形態では、携帯端末10が情報処理装置の一例であったが、パーソナルコンピュータ、PDA、タブレット端末、デジタルカメなど各種の装置も情報処理装置の一例となり得る。また、タッチパネル17を有しておらず、ハードキーから操作を入力する装置についても、本発明を適用可能である。
また、上記実施形態では、検索結果情報が複数のアプリケーションを示す場合、本アプリ14bが、共有先アプリ選択画面90をLCD18に表示させるものとして説明した。これに代えて、共有アプリ選択画面を表示する処理、その画面においてアプリケーションの選択を受け付ける処理、および、選択されたアプリケーションを共有先アプリ64として起動する処理の実行を全てOS14aに要求しても良い。
また、上記実施形態で挙げた具体的数値や設定値は一例であり、他の数値や設定値を採用することは当然可能である。例えば、上記実施形態では、共有タイプの種類として「PDF」と、「JPEG」と、「MSWORD」との3種類を設けていたが、1〜2種類でも良いし、4種類以上でも良い。また、共有タイプの種類は、「PDF」や「JPEG」や「MSWORD」に限らず、他のデータ形式を示すタイプでも良い。他のデータ形式としては、「PNG」、「GIF」、「BMP」、「MSEXCEL」、「PPT」などが例示される。
また、上記実施形態では、JPEG形式の画像データをスキャナ30から受信するものとして説明したが、例えば、RAWデータでも良い。ただし、その場合、共有タイプとしてユーザがJPEGを選択した場合には、RAWデータをJPEG形式に変換した上で、共有アプリ64に処理させるべき共有データとして、そのURIを指定する。
また、上記実施形態においては、各アプリケーションが処理可能なデータの形式を示すタイプとして、ユーザが選択した共有タイプを検索条件として指定して、アプリケーションを検索させるものとして説明した。しかしながら、検索条件はこれに限られるものではなく、各アプリケーションが実行可能な処理の種類を示すアクションのうち、ユーザが選択したアクションを検索条件として指定して、アプリケーションを検索させる場合にも、本発明を適用可能である。その場合、アクションの種類ごとに、起動履歴テーブル14b1を設ければ良い。また、タイプおよびアクションの両方についてユーザが選択したものを検索条件としても良い。この場合、起動履歴テーブル14b1には、共有タイプおよびアクションの組合せごとに、起動済アプリ名を記憶させれば良い。このようにすれば、検索条件毎に適切な制御が実行される。
また、上記実施形態では、ユーザにより選択された共有タイプと、アクション「SEND」とを検索条件として、アプリケーションの検索をOS14aに要求するものとして説明した。この検索条件によれば、ユーザにより選択された共有タイプのデータを処理可能で、且つ、データ送信が可能なアプリケーションが検索により抽出される。これに代えて、「VIEW」や「EDIT」など他のアクションを検索条件として指定しても良い。また、「MULTI_SEND」を検索条件のアクションとして指定するように構成しても良い。「MULTI_SEND」とは、複数個のデータを共有データとして送信可能なアプリケーションが宣言するアクションである。この場合、ユーザにより選択された共有タイプのデータを処理可能で、且つ、複数のデータを送信可能なアプリケーションを検索により抽出できる。
また、上記実施形態では、共有タイプ「PDF」、「JPEG」、「MSWORD」のうちいずれかを検索条件としてアプリケーションの検索を要求していた。これに代えて、「IMAGE」や「APPLICATION」を検索条件としても良い。タイプ「IMAGE」を指定する場合には、JPEG,BMP,GIFなどの各種イメージデータを処理可能なアプリケーションを検索できる。一方、タイプ「APPLICATION」を指定する場合には、PDF,MSWORD,MSEXCEL,PPTなど、アプリケーション固有のデータ形式のデータを処理可能なアプリケーションを検索できる。この場合、「IMAGE」および「APPLICATION」の各々について、起動済アプリ名を記憶可能に、起動履歴テーブル14b1を構成すれば良い。
また、上記実施形態の起動履歴テーブル14b1には、アプリ名を記憶させているが、アプリケーションのクラス名やアプリケーションIDなど、他の情報を記憶させても良い。この場合、これらの他の情報が、それぞれ特定情報の一例に相当し得る。
また、上記実施形態では、デバイス30から受信した画像データを共有データとする場合を例にとって説明したが、この例に限られるものではなく、例えば、携帯端末10に内蔵されたデジタルカメラで撮影された画像データや、他のアプリケーションにより生成された画像データ、またはこれらの画像データを変換することにより得られたデータを共有データとする場合にも、本発明を適用可能である。
また、上記実施形態においては、OS14aはアンドロイドOSであるものとして説明したが、他のOSが搭載された情報処理装置であっても本発明を適用可能である。
また、上記実施形態において、検索機能や共有機能はOS14aによって実現されるものとして説明したが、これに代えて、例えばハードウェアやミドルウェア、または他のアプリケーションによって検索機能や共有機能が実現される場合にも本発明を適用可能である。
また、上記実施形態において、携帯端末10とデバイス30との間は、Wi−Fi接続されるものとして説明したが、これに代えて、例えば、Bluetooth(登録商標)などの他の通信方式により接続される場合にも、本発明を適用可能である。
また、JPEG形式の画像データをPDF形式やワード形式に変換するためのプログラムは本アプリが備えていても良いし、携帯端末10のハードウェアまたは携帯端末10に搭載された他のアプリやOS14aに変換を要求することで、データ変換を実現するものであっても良い。その場合、データ形式の変換を要求するCPU11が、データ取得手段の一例に相当する。
また、上記実施形態では、起動履歴テーブル14b1をフラッシュメモリ14に設けているが、メモリカード20内に設けても良い。
また、上記実施形態においては、携帯端末10に着脱可能なメモリカード20にJPEG形式や、PDF形式や、ワード形式のデータが記憶されるものとして説明した。これらのデータは、例えば、携帯端末10に内蔵されたフラッシュメモリ14に記憶されても良い。
また、上記実施形態で説明したアプリ確認画面100,110の内容は、適宜変更可能である。例えば、検索により抽出されたアプリケーションは、本アプリ14bを共有元アプリケーションとする処理において、現在選択している共有タイプの共有先アプリ64として初めて起動するものであることを、ユーザに明確に伝えることができるよう、例えば「PDFデータの共有で初めて起動するアプリケーションです」などのメッセージを、LCD18に表示させても良い。この場合、メッセージが第1報知情報の一例に相当する。
また、上記実施形態において、第1の共有先アプリ確認画面100では、アプリ選択ボタン101がユーザにより操作された場合に、そのアプリケーションを共有先アプリ64として起動するものとして説明した。しかしながら、第1の共有先アプリ確認画面100にボタン機能を持たせることは必須ではない。例えば、アプリ選択ボタン101に代えて、単に検索により抽出された1のアプリケーションのアプリ名を、第1の共有先アプリ確認画面100に表示させても良い。そして、第1の共有先アプリ確認画面100を一定時間以上表示させた後、検索により抽出された1つのアプリケーションを共有先アプリ64として指定して、OS14aに対して共有機能の実行を要求しても良い。このようにすれば、アプリ選択ボタン101を押下するという操作負担をユーザにかけることなく、共有先アプリ64を起動させることができる。この変形例では、第1の共有先アプリ確認画面100が、アプリケーション情報の一例に相当する。
また、上記実施形態では、共有先アプリ64の画面120を表示させる前に、第1の共有先アプリ確認画面100または第2の共有先アプリ確認画面110を表示させるものとして説明した。これに代えて共有先アプリ64の画面120の後に、共有先アプリ確認画面100,110などその他のアプリ−ション情報を、LCD18に表示させても良い。また、共有先アプリ64の画面120と同時に、アプリケーション情報をLCD18に表示させても良い。