(57)【特許請求の範囲】
【請求項１】
複数のアプリケーションプログラムを有し、一のアプリケーションプログラムを連携元プログラムとして実行する場合に他のアプリケーションプログラムを連携先プログラムとして起動させる起動手段と、その起動手段により起動させた連携先プログラムから出力されるデータを処理対象データとして前記連携元プログラムに処理させる連携手段とを備えた情報処理装置において実行される情報処理プログラムであって、
前記複数のアプリケーションプログラムの中から、連携先プログラムの候補を取得する候補取得手段と、
その候補取得手段により取得される連携先プログラムの候補のうち、何れかの連携先プログラムを起動させるよう前記起動手段に指示する起動指示手段と、
前記起動手段により起動された連携先プログラムから出力される処理対象データを前記連携手段から取得するデータ取得手段と、
そのデータ取得手段により取得される処理対象データが前記連携元プログラムにより処理可能かを判断する処理判断手段と、
その処理判断手段において処理対象データが前記連携元プログラムにより処理不可能と判断された場合に、その処理不可能な処理対象データを出力した連携先プログラムを、前記候補取得手段に取得させる連携先プログラムの候補から除外する除外手段として、前記情報処理装置を機能させることを特徴とする情報処理プログラム。
【請求項２】
前記処理判断手段において処理対象データが前記連携元プログラムにより処理不可能と判断された場合に、その処理不可能な処理対象データを出力した連携先プログラムを示す起動不可情報を記憶部に記憶させる第１記憶制御手段として、前記情報処理装置を機能させ、
前記除外手段は、
その第１記憶制御手段により前記記憶部に記憶された起動不可情報に基づいて、その起動不可情報により示される連携先プログラムを前記候補取得手段に取得させる連携先プログラムの候補から除外するものであることを特徴とする請求項１記載の情報処理プログラム。
【請求項３】
前記処理判断手段において処理対象データが前記連携元プログラムにより処理可能と判断された場合に、その処理可能な処理対象データを出力した連携先プログラムを示す優先起動情報を記憶部に記憶させる第２記憶制御手段として、前記情報処理装置を機能させ、
前記候補取得手段は、
前記記憶部に前記優先起動情報が記憶されている場合に、その優先起動情報により示される連携先プログラムを連携先プログラムの候補として取得するものであり、
前記起動指示手段は、
前記記憶部に前記優先起動情報が記憶されている場合に、前記候補取得手段により取得された連携先プログラムを起動させるよう前記起動手段に指示するものであることを特徴とする請求項１または２記載の情報処理プログラム。
【請求項４】
前記処理判断手段において処理対象データが前記連携元プログラムにより処理不可能と判断された場合に、その処理不可能な処理対象データを出力した連携先プログラムを示す優先起動情報が前記記憶部に記憶されているかを判断する優先判断手段として、前記情報処理装置を機能させ、
前記第２記憶制御手段は、
その優先判断手段により前記処理不可能な処理対象データを出力した連携先プログラムを示す優先起動情報が前記記憶部に記憶されていると判断される場合に、その優先起動情報を前記記憶部から消去するものであることを特徴とする請求項３記載の情報処理プログラム。
【請求項５】
連携先プログラムの候補を表示部に表示させる表示制御手段と、
その表示制御手段により前記表示部に表示される連携先プログラムの候補であり、且つ、前記候補取得手段により取得された連携先プログラムについて、起動指示を受け付ける起動指示受付手段として、前記情報処理装置を機能させ、
前記起動指示手段は、
その起動指示受付手段により前記起動指示が受け付けられた連携先プログラムを起動させるよう前記起動手段に指示するものであることを特徴とする請求項１から４の何れかに記載の情報処理プログラム。
【請求項６】
前記処理判断手段において処理対象データが前記連携元プログラムにより処理不可能と判断された回数を、その処理不可能な処理対象データを出力した連携先プログラムごとに計数する計数手段として、前記情報処理装置を機能させ、
前記第１記憶制御手段は、
その計数手段により計数される回数を前記起動不可情報とし、その回数に対応する連携先プログラムに関連づけて前記記憶部に記憶させるものであり、
前記除外手段は、
前記第１記憶制御手段により前記記憶部に前記起動不可情報として記憶された回数が所定回数以上の連携先プログラムを、前記候補取得手段に取得させる連携先プログラムの候補から除外するものであることを特徴とする請求項２記載の情報処理プログラム。
【請求項７】
所定の条件が満たされた場合に、前記除外手段により連携先プログラムの候補から除外された連携先プログラムを、その候補として復帰させる復帰手段として、前記情報処理装置を機能させることを特徴とする請求項１から６の何れかに記載の情報処理プログラム。
【請求項８】
前記除外手段により連携先プログラムの候補から除外された連携先プログラムを、その候補として復帰させる復帰要求を受け付ける要求受付手段として、前記情報処理装置を機能させ、
前記候補取得手段は、
前記要求受付手段により復帰要求が受け付けられた場合に、前記除外手段により連携先プログラムの候補から除外された連携先プログラムを含む連携先プログラムの候補を取得するものであり、
前記表示制御手段は、
前記候補取得手段により取得された連携先プログラムの候補を前記表示部に表示させるものであり、
前記起動指示受付手段は、
前記要求受付手段により復帰要求が受け付けられた場合に、前記表示制御手段により前記表示部に表示される全ての連携先プログラムについて、起動指示を受け付けるものであることを特徴とする請求項５記載の情報処理プログラム。
【請求項９】
複数のアプリケーションプログラムを有し、一のアプリケーションプログラムを連携元プログラムとして実行する場合に他のアプリケーションプログラムを連携先プログラムとして起動させる起動手段と、その起動手段により起動させた連携先プログラムから出力されるデータを処理対象データとして前記連携元プログラムに処理させる連携手段とを備えた情報処理装置において、
前記複数のアプリケーションプログラムの中から、連携先プログラムの候補を取得する候補取得手段と、
その候補取得手段により取得される連携先プログラムの候補のうち、何れかの連携先プログラムを起動させるよう前記起動手段に指示する起動指示手段と、
前記起動手段により起動された連携先プログラムから出力される処理対象データを前記連携手段から取得するデータ取得手段と、
そのデータ取得手段により取得される処理対象データが連携元プログラムにより処理可能かを判断する処理判断手段と、
その処理判断手段において処理対象データが連携元プログラムにより処理不可能と判断された場合に、その処理不可能な処理対象データを出力した連携先プログラムを、前記候補取得手段に取得させる連携先プログラムの候補から除外する除外手段とを備えていることを特徴とする情報処理装置。
【請求項１０】
複数のアプリケーションプログラムを有し、一のアプリケーションプログラムを連携元プログラムとして実行する場合に他のアプリケーションプログラムを連携先プログラムとして起動させる起動手段と、その起動手段により起動させた連携先プログラムから出力されるデータを処理対象データとして前記連携元プログラムに処理させる連携手段とを備えた情報処理装置において実行される情報処理方法であって、
前記複数のアプリケーションプログラムの中から、連携先プログラムの候補を取得する候補取得ステップと、
その候補取得ステップにより取得される連携先プログラムの候補のうち、何れかの連携先プログラムを起動させるよう前記起動手段に指示する起動指示ステップと、
前記起動手段により起動された連携先プログラムから出力される処理対象データを前記連携手段から取得するデータ取得ステップと、
そのデータ取得ステップにより取得される処理対象データが連携元プログラムにより処理可能かを判断する処理判断ステップと、
その処理判断ステップにおいて処理対象データが連携元プログラムにより処理不可能と判断された場合に、その処理不可能な処理対象データを出力した連携先プログラムを、前記候補取得ステップに取得させる連携先プログラムの候補から除外する除外ステップとを含む情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理プログラム、情報処理装置および情報処理方法に関する。
【背景技術】
【０００２】
アンドロイド（登録商標）や、ウィンドウズ（登録商標）フォン７などのオペレーティングシステム（以下、「ＯＳ」と称す）が搭載された携帯端末では、「連携機能」と称される機能を利用できる。連携機能は、一のアプリケーション（連携元プログラム）の実行中に、他のアプリケーション（連携先プログラム）を起動して特定の処理を行わせ、その処理結果を連携元プログラムの処理対象データとして連携元プログラムに渡す機能である。例えば、画像ファイルの画像を印刷するアプリケーションを連携元プログラムとして実行している状態で、印刷対象の画像ファイルをユーザが指定する場合に、操作性の良いアプリケーション（例えば、ビュワーなど）を連携先プログラムとして起動することで、ユーザは、その操作性の良いアプリケーションにおいて、印刷対象の画像ファイル（処理対象データ）を指定できる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−１８２６６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、連携先プログラムから連携元プログラムに処理対象データが渡される場合に、連携元プログラムにおいて処理不可能なデータ形式のデータが渡される場合があり、その場合には、その処理対象データが連携元プログラムにおいて処理される段階で、処理できずエラーとなってしまう。そのため、ユーザは、連携先プログラムを起動する段階から作業をやり直すことになってしまい、せっかく行った作業が無駄になってしまうという問題点があった。
【０００５】
本発明は、上記の問題点を解決するためになされたものであり、適切な連携先プログラムを起動できる情報処理プログラム、情報処理装置および情報処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
この目的を達成するために、本発明の情報処理プログラムは、複数のアプリケーションプログラムを有し、一のアプリケーションプログラムを連携元プログラムとして実行する場合に他のアプリケーションプログラムを連携先プログラムとして起動させる起動手段と、その起動手段により起動させた連携先プログラムから出力されるデータを処理対象データとして前記連携元プログラムに処理させる連携手段とを備えた情報処理装置において実行されるものであって、前記複数のアプリケーションプログラムの中から、連携先プログラムの候補を取得する候補取得手段と、その候補取得手段により取得される連携先プログラムの候補のうち、何れかの連携先プログラムを起動させるよう前記起動手段に指示する起動指示手段と、前記起動手段により起動された連携先プログラムから出力される処理対象データを前記連携手段から取得するデータ取得手段と、そのデータ取得手段により取得される処理対象データが前記連携元プログラムにより処理可能かを判断する処理判断手段と、その処理判断手段において処理対象データが前記連携元プログラムにより処理不可能と判断された場合に、その処理不可能な処理対象データを出力した連携先プログラムを、前記候補取得手段に取得させる連携先プログラムの候補から除外する除外手段として、前記情報処理装置を機能させる。
【０００７】
尚、本発明は、情報処理装置を制御する制御装置、情報処理システム、情報処理装置、情報処理方法、情報処理プログラムを記録する記録媒体等の種々の態様で実現可能である。
【発明の効果】
【０００８】
請求項１記載の情報処理プログラムによれば、連携元プログラムにより処理不可能な処理対象データを出力した連携先プログラムが、候補取得手段により取得される連携先プログラムの候補から除外される。よって、連携元プログラムにより処理不可能な処理対象データを出力した連携先プログラムが起動手段により再び起動されることを抑制できるので、適切な連携先アプリケーションを起動できるという効果がある。
【０００９】
請求項２記載の情報処理プログラムによれば、請求項１記載の情報処理プログラムの奏する効果に加え、記憶部に記憶されている起動不可情報に基づいて、連携元プログラムにより処理不可能な処理対象データ出力した連携先プログラムを連携先プログラムの候補から除外できるという効果がある。
【００１０】
請求項３記載の情報処理プログラムによれば、請求項１または２記載の情報処理プログラムの奏する効果に加え、連携元プログラムにより処理可能な処理対象データが連携先プログラムから出力された場合には、その連携先プログラムを、次回、起動手段に起動させることができるので、適切な連携先プログラムを起動できるという効果がある。
【００１１】
請求項４記載の情報処理プログラムによれば、請求項３記載の情報処理プログラムの奏する効果に加え、連携元プログラムにより処理不可能な処理対象データが連携先プログラムから出力された場合には、その連携先プログラムを示す優先起動情報が記憶部から消去される。よって、不適切な連携先プログラムに対応する優先起動情報の消去についてユーザを補助できるので、操作に不慣れなユーザでも使い易いという効果がある。
【００１２】
請求項５記載の情報処理プログラムによれば、請求項１から４の何れかに記載の情報処理プログラムの奏する効果に加え、表示部に表示される連携先プログラムの候補であって、候補取得手段により取得された連携先プログラムについて、起動指示を受け付けることができるという効果がある。
【００１３】
請求項６記載の情報処理プログラムによれば、請求項２記載の情報処理プログラムの奏する効果に加え、連携元プログラムにより処理不可能な処理対象データを出力した連携先プログラムでも、処理不可能な処理対象データを出力した回数が所定回数以上になるまでの間は、連携先プログラムの候補として取得されるので、ユーザが操作を偶然間違えた場合などの意図しない理由で連携元プログラムにより処理不可能な処理対象データが連携先プログラムから出力されて、連携先プログラムの候補が減ることを抑制できるという効果がある。
【００１４】
請求項７記載の情報処理プログラムによれば、請求項１から６の何れかに記載の情報処理プログラムの奏する効果に加え、所定の条件が満たされた場合に、連携先プログラムの候補から除外された連携先プログラムを、その候補として復帰させることができるという効果がある。
【００１５】
請求項８記載の情報処理プログラムによれば、請求項５記載の情報処理プログラムの奏する効果に加え、除外手段により除外された連携先プログラムを連携先プログラムの候補として復帰させる復帰要求が要求受付手段により受け付けられた場合には、その除外された連携先プログラムについても起動指示が受け付けられるので、ユーザの所望する連携先プログラムが除外されている場合でも、その連携先プログラムをユーザが任意に起動できる。よって、ユーザの使い勝手が良いという効果がある。
【００１６】
請求項９記載の情報処理装置によれば、請求項１記載の情報処理プログラムを実行する情報処理装置と同様の効果を奏する。
【００１７】
請求項１０記載の情報処理方法によれば、請求項１記載の情報処理プログラムを実行する情報処理装置と同様の効果を奏する。
【図面の簡単な説明】
【００１８】
【図１】本発明の第１実施形態であるデバイス制御アプリケーションを搭載した携帯端末の電気的構成を示すブロック図である。
【図２】（ａ）は、連携先アプリ管理テーブルの構成を模式的に示す図であり、（ｂ）は、起動可能アプリの候補の抽出を説明するための概略図である。
【図３】携帯端末において実行される連携先アプリ選別処理を示すフローチャートである。
【図４】第１実施形態の携帯端末のＬＣＤに表示される連携先アプリ選択画面の一例を示す図である。
【図５】第２実施形態の携帯端末において実行される既定連携先アプリ設定処理を示すフローチャートである。
【図６】第２実施形態の携帯端末のＬＣＤに表示される連携先アプリ選択画面の一例を示す図である。
【図７】第３実施形態の携帯端末において実行される連携先アプリ選別処理を示すフローチャートである。
【発明を実施するための形態】
【００１９】
以下、本発明の好ましい実施形態について、添付図面を参照して説明する。図１は、本発明の情報処理プログラムの第１実施形態であるデバイス制御アプリケーション（以下、「本アプリ」と称す）１４ｂが搭載された携帯端末１０の電気的構成を示すブロック図である。
【００２０】
携帯端末１０は、無線基地局（図示せず）を介して、他の通話装置との間で音声通話を行う携帯電話機である。携帯端末１０には、ＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３、フラッシュメモリ１４、無線ＬＡＮ送受信部１５、操作キー１６、タッチパネル１７、液晶表示装置（以下、「ＬＣＤ」と称す）１８、メモリカードインターフェイス（以下、「メモリカードＩ／Ｆ」と称す）１９、音声入出力部２１、電話網通信部２２が設けられる。これらは、バスライン２３を介して互いに通信可能に接続されている。
【００２１】
ＣＰＵ１１は、ＲＯＭ１２等に記憶される固定値やプログラム等に従って、バスライン２３と接続された各部を制御する。ＲＯＭ１２は、書換不能な不揮発性のメモリであって、各種の固定値を記憶する。ＲＡＭ１３は、書換可能な揮発性のメモリであり、一時的なワークデータを記憶する。
【００２２】
フラッシュメモリ１４は、書換可能な不揮発性のメモリであり、ＯＳ１４ａ、本アプリ１４ｂ、その他のアプリケーション（以下、「その他のアプリ」と称す）１４ｃが格納される。ＯＳ１４ａは、携帯端末１０に搭載された基本ソフトウェアであって、本実施形態の場合、アンドロイド（登録商標）ＯＳであるものとする。本アプリ１４ｂは、携帯端末１０のユーザによって携帯端末１０にインストールされるアプリケーションである。
【００２３】
その他のアプリ１４ｃは、携帯端末１０に予め搭載されているアプリケーションと、ユーザによってインストールされるアプリケーションとを含む。本実施形態の場合、その他のアプリ１４ｃとして、「ファイル管理」、「ギャラリー」、及び「カメラ」という名称の各アプリケーションがインストールされている。「ファイル管理」は、ファイルやフォルダを管理するためのアプリケーションであり、「ギャラリー」は、画像ファイルの画像をサムネイル表示させるためのアプリケーションである。「カメラ」は、携帯端末１０に搭載されているカメラ（図示せず）を制御して撮像を行い、撮像した画像の画像ファイルを生成するためのアプリケーションである。尚、「ファイル管理」、「ギャラリー」、及び「カメラ」の各々は、画像データや画像ファイルを処理対象として選択可能なアプリケーションである。
【００２４】
以降、アプリケーション（本アプリ１４ｂや、その他のアプリ１４ｃを含む）やＯＳ１４ａなどのプログラムを実行するＣＰＵ１１のことを、単に、プログラム名で記載する場合もある。例えば、「アプリケーション」という記載が、「アプリケーションを実行するＣＰＵ１１」を意味する場合もある。
【００２５】
携帯端末１０では、ＯＳ１４ａのApplication  Program  Interface（以下、「ＡＰＩ」と称す）をアプリケーションが用いることにより、アプリケーション間でデータを受け渡す連携機能（インテント機能）が実現される。詳細については、図２（ｂ）を参照して後述する。
【００２６】
本アプリ１４ｂは、写真印刷処理や、ＰＤＦ印刷処理やなどの各種処理を実行するためのアプリケーションであり、その各種処理を実行する場合に、ユーザが連携機能を利用できるように構成されている。本アプリ１４ｂにおいて連携機能が利用される場合、本アプリ１４ｂは、その他のアプリ１４ｃの何れかを連携先アプリとして起動させる。そして、その起動させた連携先アプリから渡されるデータを、連携ファイルとして受信し処理する。特に、本アプリ１４ｂは、ユーザが連携機能を利用する場合に、より適切な連携先アプリを、その他のアプリ１４ｃの中から起動できるように構成されている。
【００２７】
また、本アプリ１４ｂには、連携先アプリ管理テーブル１４ｂ１が設けられている。連携先アプリ管理テーブル１４ｂ１については、図２を参照して後述する。
【００２８】
携帯端末１０にインストールされた各アプリケーション（本アプリ１４ｂや、その他のアプリ１４ｃを含む）は、ＯＳ１４ａのＡＰＩを呼び出して、無線ＬＡＮ送受信部１５、操作キー１６、タッチパネル１７、ＬＣＤ１８、メモリカードＩ／Ｆ１９、音声入出力部２１、電話網通信部２２など、携帯端末１０の各構成に受け渡したいデータをＯＳ１４ａに出力する。即ち、各アプリケーションは、ＯＳ１４ａのＡＰＩを呼び出すことによって、携帯端末１０の各構成を制御する。また、各アプリケーションは、ＯＳ１４ａのＡＰＩを呼び出して、携帯端末１０の各構成が出力するデータや各構成の状態を示すデータをＯＳ１４ａから取得する。即ち、ＯＳ１４ａのＡＰＩを呼び出すことによって、携帯端末１０の各構成の状態（携帯端末１０への操作入力の状態も含む）を示すデータをＯＳ１４ａから取得する。また、ＯＳ１４ａは、携帯端末１０の各構成が出力するデータや各構成の状態を示すデータを、定期的に、あるいは各構成の状態変化の都度、各アプリケーションに通知することもある。即ち、各アプリケーションは、ＯＳ１４ａからの通知を受けることによって、携帯端末１０の各構成の状態（携帯端末１０への操作入力の状態も含む）を示すデータをＯＳ１４ａから取得する。
【００２９】
無線ＬＡＮ送受信部１５は、ＩＥＥＥ８０２．１１ｂ／ｇの規格に準拠した無線ＬＡＮにより、携帯端末１０と他の機器とをＷｉ−Ｆｉ（登録商標）接続する回路である。携帯端末１０は、アクセスポイント（図示せず）を介して通信する通信方式であるインフラストラクチャモードにより、ＭＦＰ等の他の装置（図示せず）との間で無線通信を行う。操作キー１６は、携帯端末１０の筺体に設けられたハードキーであり、携帯端末１０に設定情報や指示を入力する。タッチパネル１７は、ＬＣＤ１８に重ねて設けられ、携帯端末１０に設定情報や指示を入力する。ＬＣＤ１８は、携帯端末１０にインストールされたアプリケーションを示すアイコンの一覧や、起動したアプリケーションの画面を表示する。
【００３０】
メモリカードＩ／Ｆ１９は、不揮発性のメモリカード２０が装着されるインターフェイスであって、メモリカード２０に対するデータの書き込み又は読み出しを制御する。メモリカード２０は、一例として、ＳＤカード（登録商標）である。音声入出力部２１は、マイクやスピーカなどで構成された音声入出力用デバイスであり、電話網通信部２２は、他の電話装置との間で電話通信を行うための回路である。
【００３１】
図２（ａ）に示す連携先アプリ管理テーブル１４ｂ１は、連携先アプリを管理するためのテーブルである。連携先アプリ管理テーブル１４ｂ１は、本アプリ１４ｂにより作成され、更新される。
【００３２】
連携先アプリ管理テーブル１４ｂ１は、処理種別３０と、連携先アプリ名３１と、連携指定フラグ３２と、起動エラー回数３３とを含む。一の連携先アプリ名３１には、一の連携指定フラグ３２と、一の起動エラー回数３３とが対応づけられ、その対応づけられた各情報は３１〜３３は、何れかの処理種別３０に分類される。
【００３３】
処理種別３０は、本アプリ１４ｂにおいて実行される処理の種別であり、「写真印刷処理」及び「ＰＤＦ印刷処理」が少なくとも設けられている。本実施形態では、その処理種別３０ごとに、扱うファイルのデータ形式が予め決まっており、「写真印刷処理」では、ＪＰＥＧ形式のファイルを処理対象とし、「ＰＤＦ印刷処理」では、ＰＤＦ形式のファイルを処理対象とする。
【００３４】
連携先アプリ名３１は、処理種別３０における処理対象のファイルを扱えるアプリケーション（連携先アプリ）の名称を示す。例えば、処理種別３０が「写真印刷処理」の場合は、ＪＰＥＧ形式のファイルを扱えるアプリケーションの名称を示す。
【００３５】
連携指定フラグ３２は、分類先の処理種別３０の中で、連携先アプリ名３１のアプリケーションが、特定の連携先アプリとして起動すべきアプリケーションであるか否かを示すフラグである。連携指定フラグ３２は、分類先の処理種別３０の中で、全てオフに設定されるか、１つだけオンに設定される。連携指定フラグ３２がオンの場合は、その連携フラグ３２に対応する連携先アプリ名３１のアプリケーションが、特定の連携先アプリとして起動される。例えば、「写真印刷処理」の場合には、その中で連携指定フラグ３２がオンである「ギャラリー」が特定の連携先アプリとして起動される。
【００３６】
起動エラー回数３３は、分類先の処理種別３０では処理対象として扱わない（処理しない）データ形式のファイルを、連携先アプリ名３１のアプリケーションが、本アプリ１４ｂに渡した回数を示す。例えば、「写真印刷処理」に分類されている「ギャラリー」が、ＪＰＥＧ以外の形式のファイルを、本アプリ１４ｂにおける「写真印刷処理」の実行中に本アプリ１４ｂに渡してきた場合には、「写真印刷処理」に分類されている起動エラー回数３３のうち、「ギャラリー」に対応するものに、１が加算される。
【００３７】
本アプリ１４ｂでは、処理種別３０の一つが今回実行すべき処理（以後、「今回の処理」と称す）としてユーザにより指示され、更に、その今回の処理を連携機能を利用して実行するようユーザにより指示されると、連携先アプリ管理テーブル１４ｂ１を参照し、今回の処理に対応する特定の連携先アプリの有無を確認する。ここで、特定の連携先アプリがある（決まっている）場合には、その特定の連携先アプリを起動する。一方、決まっていない場合には、ＯＳ１４ａのＡＰＩを用いて、連携先アプリとして起動可能なアプリケーション（以下、「起動可能アプリ」と称す）の候補を抽出して表示し、その候補の中から、今回、連携先アプリとして起動させるアプリケーションをユーザに指定させ、その指定された連携先アプリを起動する。
【００３８】
図２（ｂ）を参照して、起動可能アプリの候補を抽出して、連携先アプリを起動させる場合の処理の流れについて説明する。図２（ｂ）は、連携元アプリ６０（本実施形態では本アプリ１４ｂ）が起動可能アプリの候補の抽出および表示をＯＳ１４ａに要求した場合に、携帯端末１０内で実行される処理の流れの一例を示している。
【００３９】
まず、連携元アプリ６０は、ＯＳ１４ａのＡＰＩを呼び出し、起動可能アプリの候補の抽出および表示を要求する（１）。この要求では、その他のアプリ１４ｃの中から、目的に合った起動可能アプリの候補を見つけるためのタイプと、アクションとが少なくとも指定される。タイプは、連携元アプリ６０が連携先アプリから受け取りたいファイル（連携ファイル）のデータ形式を指定する情報である。アクションは、連携先アプリにおいて実行させたい処理の種類を指定する情報である。ＯＳ１４ａは、連携元アプリ６０から通知されるタイプとアクションとを検索条件として、携帯端末１０にインストールされた全てのアプリケーション（以下、全てのアプリ６２）の中から、連携先アプリとなり得る候補（即ち、起動可能アプリの候補）を検索する（２）。
【００４０】
携帯端末１０にインストールされた各アプリケーションは、自アプリケーションにおいて処理可能なデータ形式、および、実行可能な処理の種類を、上述したタイプおよびアクションを用いて予め宣言している。ＯＳ１４ａは、その宣言を参照して、連携元アプリ６０から通知された検索条件に合う全てのアプリ６２を検索し抽出する。そして、検索条件に合った各アプリケーションの識別情報を取得する（３）。
【００４１】
但し、各アプリケーションが宣言するタイプ、アクションは、各アプリケーションの開発者が自由に設定できるものである。従って、実際には処理できないデータ形式のタイプや、実際には実行できない処理のアクションが、各アプリケーションにおいて宣言されている場合があり得る。そのため、「ＯＳ１４ａにより抽出される起動可能アプリの候補」とは、連携先アプリ６０から通知されたタイプおよびアクションと、同一のタイプおよび同一のアクションを宣言しているアプリケーションを意味しており、そのアプリケーションが実際に処理を実行可能であることまでを要求しない。
【００４２】
次に、ＯＳ１４ａは、検索により抽出された各アプリケーションの名称を、起動可能アプリの候補としてＬＣＤ１８に表示させる（４）。そして、ユーザが何れかを一つ選択すると（５）、ＯＳ１４ａは、選択されたアプリケーションの識別情報、および検索条件として用いたタイプとアクションとを含むインテントを返す（６）。一方、連携元アプリ６０は、ＯＳ１４ａからインテントを受けると、ＯＳ１４ａのＡＰＩを呼び出し、そのインテントに含まれる選択されたアプリケーションの識別情報、タイプ、アクションを指定して、連携機能の実行を要求する（７）。
【００４３】
ＯＳ１４ａは、連携元アプリ６０から指定されたアプリケーションを、連携先アプリとして起動させて（以下、起動させた連携先アプリを「連携先アプリ６４」と記載する）、その連携先アプリ６４の画面をフォアグラウンドとし、連携元アプリ６０から通知されたタイプと、アクションとを通知する（８）。その結果、ユーザにより選択された連携先アプリ６４の画面がフォアグラウンドに表示され、連携先アプリ６４は、通知されたアクションの値に従った処理を行う。例えば、携帯端末１０内に存在する画像ファイルについて、そのサムネイル画像をＬＣＤ１８に表示し、その中でユーザにより指定されたサムネイル画像に対応する画像ファイルを、連携ファイルとして特定するなどの処理を行う。
【００４４】
連携先アプリ６４において連携ファイルが特定された場合、連携先アプリ６４は、その連携ファイルをＯＳ１４ａに送信する（９）。この送信により、ＯＳ１４ａは、連携先アプリ６４より送信された連携ファイルを、連携元アプリ６０に送信する（１０）。その結果、連携元アプリ６０では、連携先アプリ６４から送信された連携ファイルが受信され、その連携ファイルについて処理が開始される。
【００４５】
図３は、本アプリ１４ｂに従い、携帯端末１０において実行される連携先アプリ選別処理を示すフローチャートである。この処理は、本アプリ１４ｂにおいて、処理種別３０（「写真印刷処理」及び「ＰＤＦ印刷処理」）の一つが今回の処理としてユーザにより指示され、更に、その今回の処理を連携機能を利用して実行するようユーザにより指示された場合に実行される。尚、以下に説明するフローチャートに示す各ステップは、本アプリ１４ｂがＣＰＵ１１に実行させるものとして説明する。
【００４６】
連携先アプリ選別処理では、ＣＰＵ１１は、まず、今回の処理に対応する特定の連携先アプリについての情報を取得する（Ｓ１０１）。具体的には、ＣＰＵ１１は、連携先アプリ管理テーブル１４ｂ１のうち、今回の処理に分類されている各連携先アプリ名３１と各連携指定フラグ３２とを読み出す。次に、ＣＰＵ１１は、取得した情報に基づいて、今回の処理に対して特定の連携先アプリが対応づけられているかを判定する（Ｓ１０２）。即ち、連携指定フラグ３２がオンの連携先アプリ名３１があるかを判定する。ここで、連携指定フラグ３２がオンの連携先アプリ名３１がある場合には、その連携先アプリ名３１のアプリケーションが特定の連携先アプリとして、今回の処理に対応づけられていると判定する。
【００４７】
今回の処理に対して、特定の連携先アプリが対応づけられている場合（Ｓ１０２：Ｙｅｓ）、ＣＰＵ１１は、その特定の連携先アプリを起動させる（Ｓ１０３）。一方、特定の連携先アプリが対応づけられていない場合（Ｓ１０２：Ｎｏ）、ＣＰＵ１１は、画像選択可能なアプリケーション（以後、「画像選択アプリ」と称す）の候補７３をＯＳ１４ａから取得する（Ｓ１０４）。具体的には、タイプの種類として「ＩＭＡＧＥ」を指定し、アクションの種類として「ＡＣＴＩＯＮ＿ＰＩＣＫ」を指定して、ＯＳ１４ａのＡＰＩを呼び出し、画像選択アプリの候補７３の抽出を要求する。「ＩＭＡＧＥ」は、画像データを扱うことを表し、「ＡＣＴＩＯＮ＿ＰＩＣＫ」は、データの中から一件を選択し、その情報を取得することを表す。
【００４８】
次に、ＣＰＵ１１は、ＯＳ１４ａから取得した画像選択アプリの候補７３のうち、起動エラー回数３３が５未満のアプリケーションを連携先アプリの候補７０として抽出し、それをＬＣＤ１８に表示させる（Ｓ１０５）。即ち、起動エラー回数３３が５以上のアプリケーションはＬＣＤ１８に表示させない。尚、画像選択アプリの候補７３としてＯＳ１４ａから取得したアプリケーションの名称が、今回の処理の連携先アプリ名３１として、連携先アプリ管理テーブル１４ｂ１に記憶されていない場合、そのアプリケーションに対応する情報（連携先アプリ名３１、連携指定フラグ３２はオフとする、及び、起動エラー回数３３は０とする）を、今回の処理に分類されるように連携先アプリ管理テーブル１４ｂ１に追加する。
【００４９】
このように、本実施形態では、ＯＳ１４ａに抽出させた画像選択アプリの候補７３を、そのままＯＳ１４ａにＬＣＤ１８に表示させているのではなく、本処理において、起動エラー回数３３に基づいて画像選択アプリを除外し、その残りをＬＣＤ１８に表示させている。そのため、この場合は、図２（ｂ）での説明通りに処理は流れず、処理の流れが一部変わる。具体的には、図２（ｂ）における（３）の処理の後に、次に説明する（３Ａ）及び（３Ｂ）の処理が実行され、（４）の処理に代えて、（４Ａ）の処理が実行される。即ち、（３）の処理の後、ＯＳ１４ａは（３）の処理で取得したアプリケーションの識別情報を連携元アプリ６０へ送信する（３Ａ）。連携元アプリ６０（即ち、本アプリ１４ｂ）は、ＯＳ１４ａから受信したアプリケーションの識別情報に対応するアプリケーションのうち、起動エラー回数３３が５未満のアプリケーションの名称を起動可能アプリの候補として抽出し、その抽出した起動可能アプリの候補の表示をＯＳ１４ａに要求する（３Ｂ）。ＯＳ１４ａは、その要求を受け付けると、連携元アプリ６０に要求された起動可能アプリの候補をＬＣＤ１８に表示させる（４Ａ）。
【００５０】
図４（ａ）は、Ｓ１０５の処理でＬＣＤ１８に表示される連携先アプリ選択画面の一例である。図４（ａ）に示すように、連携先アプリ選択画面は、連携先アプリの候補７０と、カーソルＫと、決定ボタン７１と、全表示ボタン７２とを含む。ここでは、連携先アプリの候補７０として、「ファイル管理」、「ギャラリー」、「カメラ」が上下方向に一列に並べて表示されている。カーソルＫは、ＬＣＤ１８に表示されている連携先アプリの候補７０の中から、連携先アプリを一つ選択するものであり、本実施形態では、カーソルＫを上下に動かして、選択したい連携先アプリにカーソルＫを合わせる。
【００５１】
決定ボタン７１は、ユーザにより押下された場合に、カーソルＫにより選択されている一の連携先アプリを、今回起動させる連携先アプリとして決定するためのボタンである。全表示ボタン７２は、ユーザにより押下された場合に、ＯＳ１４ａにより抽出された画像選択アプリの候補７３を、起動エラー回数３３に関係なく、全て連携先アプリの候補７０としてＬＣＤ１８に表示させるためのボタンである。ユーザは、全表示ボタン７２を押下することで、ＯＳ１４ａにより抽出されたが、起動エラー回数３３が５以上であったため、連携先アプリ選択画面には表示されなかったアプリケーションについても、ＬＣＤ１８に表示させることができる。よって、ユーザの利用したいアプリケーションが、連携先アプリの候補７０から除外されていても、ユーザは、その利用したいアプリケーションを連携先アプリとして選択し起動できるので、ユーザの使い勝手が良い。
【００５２】
図３の説明に戻る。ＣＰＵ１１は、連携先アプリ選択画面に表示される連携先アプリの候補７０のうち、一つがユーザにより決定されたかを判定し（Ｓ１０６）、決定されていない場合は（Ｓ１０６：Ｎｏ）、決定されるまで次のステップに進まない。一方、連携アプリが一つユーザにより決定された場合（Ｓ１０６：Ｙｅｓ）、ＣＰＵ１１は、その決定された連携先アプリを起動させる（Ｓ１０７）。
【００５３】
Ｓ１０３の処理、又は、Ｓ１０７の処理によって連携先アプリが起動されると、その後、その起動された連携先アプリ６４では、本アプリ１４ｂ（連携元アプリ６０）に渡す連携ファイルを指定するための操作が、ユーザにより行われる。その操作が連携先アプリ６４において完了すると、ユーザにより指定された連携ファイルが、ＯＳ１４ａを介して、本アプリ１４ｂに渡される。
【００５４】
起動させた連携先アプリ６４から本アプリ１４ｂに渡される連携ファイルを受信した場合（Ｓ１０８）、ＣＰＵ１１は、その受信した連携ファイルが、本アプリ１４ｂで処理可能であるかを判定する（Ｓ１０９）。本アプリ１４ｂでは、上述したように、処理種別３０ごとに、扱うファイルのデータ形式が予め決まっている。よって、連携先アプリ６４から受信した連携ファイルの拡張子を確認し、その受信した連携ファイルが、今回の処理の処理対象であるか否かを判定する。例えば、今回の処理が「写真印刷処理」の場合は、連携ファイルの拡張子がＪＰＥＧ形式を示す拡張子であることを条件として、本アプリ１４ｂで処理可能であると判定する。一方、ＪＰＥＧ以外の形式を示す拡張子である場合には、本アプリ１４ｂで処理不可能であると判定する。尚、本実施形態では、連携先アプリ６４から本アプリ１４ｂに対して連携ファイルが一つ渡されるものとして説明する。
【００５５】
連携先アプリ６４から受信した連携ファイルが、本アプリ１４ｂで処理可能な場合（Ｓ１０９：Ｙｅｓ）、ＣＰＵ１１は、今回起動させた連携先アプリ６４を、今回の処理における特定の連携先アプリとして対応づける（Ｓ１１０）。具体的には、ＣＰＵ１１は、連携先アプリ管理テーブル１４ｂ１において、今回の処理に分類されている連携指定フラグ３２のうち、今回起動させた連携先アプリ６４に対応する連携指定フラグ３２をオンする。但し、その連携指定フラグ３２が既にオンの場合は、何もしない。また、今回起動させた連携先アプリ６４以外に対応する連携指定フラグ３２がオンである場合、ＣＰＵ１１は、そのオンになっている連携指定フラグ３２をオフし、今回起動させた連携先アプリ６４に対応する連携指定フラグ３２をオンする。
【００５６】
これにより、本アプリ１４ｂにおいて、今回の処理と同一の処理が、次回実行される場合に、特定の連携先アプリが対応づけられていると判定されるので（Ｓ１０２：Ｙｅｓ）、次回も、今回起動させた連携先アプリ６４、即ち、本アプリ１４ｂで処理可能な連携ファイルを本アプリ１４ｂに渡してきた連携先アプリを起動できる。よって、次回も、適切な連携先アプリを起動できる。また、次回は、起動させる連携先アプリをユーザが選択しなくて済むので、ユーザ操作を軽減できる。そして、ＣＰＵ１１は、連携先アプリ６４から受信した連携ファイルを用いて、今回の処理を実行し（Ｓ１１１）、本処理を終了する。
【００５７】
一方、連携先アプリ６４から受信した連携ファイルが、本アプリ１４ｂで処理不可能な場合（Ｓ１０９：Ｎｏ）、ＣＰＵ１１は、今回起動させた連携先アプリ６４が、今回の処理に対応づけられている特定の連携先アプリであるかを判定する（Ｓ１１２）。具体的には、ＣＰＵ１１は、今回の処理に分類されている連携指定フラグ３２のうち、今回起動させた連携先アプリ６４に対応する連携指定フラグ３２がオンであるかを確認し、オンの場合には、今回起動させた連携先アプリ６４が、今回の処理に対応づけられている特定の連携先アプリであると判定する。今回起動させた連携先アプリ６４が、今回の処理に対応づけられている特定の連携先アプリである場合（Ｓ１１２：Ｙｅｓ）、ＣＰＵ１１は、連携先アプリ管理テーブル１４ｂ１において、今回の処理に分類されている連携指定フラグ３２のうち、オンになっているものをオフする。即ち、今回起動させた連携先アプリ６４と、今回の処理とを対応づける情報を消去する（Ｓ１１３）。
【００５８】
これにより、今回の処理と同一の処理が、次回実行された場合に、特定の連携先アプリが対応づけられていないと判定されるので（Ｓ１０２：Ｎｏ）、次回は、今回起動させた連携先アプリ６４が、特定の連携先アプリとして起動されなくなる。よって、次回、不適切な連携先アプリが起動されることを抑制できる。
【００５９】
一方、今回起動させた連携先アプリ６４が、今回の処理に対応づけられている特定の連携先アプリ６４でない場合（Ｓ１１２：Ｎｏ）、ＣＰＵ１１は、Ｓ１１３の処理をスキップし、今回起動させた連携先アプリ６４に対応する起動エラー回数３３に１を加算して（Ｓ１１４）、本処理を終了する。ここでは、連携先アプリ管理テーブル１４ｂ１において、今回の処理に分類されている起動エラー回数３３のうち、今回起動させた連携先アプリ６４に対応するものに１を加算する。
【００６０】
このように、本実施形態では、今回起動させた連携先アプリ６４が、今回の処理では扱わないデータ形式の連携ファイルを渡してきた場合、今回起動させた連携先アプリ６４に対応する起動エラー回数３３に１を加算している。
【００６１】
これが繰り返され、最終的に、今回起動させた連携先アプリ６４に対応する起動エラー回数３３が５になると、次回からは、その連携先アプリが、連携先アプリの候補７０として連携先アプリ選択画面に表示されなくなる。例えば、図４（ａ）に示すように、最初は、連携先アプリ選択画面に「ファイル管理」、「ギャラリー」、「カメラ」が連携先アプリの候補７０としてそれぞれ表示されていても、仮に、「ファイル管理」に対応する起動エラー回数３３が５になると、その後、連携先アプリ選択画面には、図４（ｂ）に示すように、「ギャラリー」、「カメラ」だけが、連携先アプリの候補７０として表示される。
【００６２】
よって、今回の処理では扱えないデータ形式の連携ファイルを渡してきた連携先アプリ６４（不適切な連携先アプリ６４）を、連携先アプリの候補７０から除外し、その残りをＬＣＤ１８に表示できる。従って、起動させる連携先アプリをユーザが選択する場合に、より適切な連携先アプリを選択して、起動できる。
【００６３】
また、起動エラー回数３３が所定回数（本実施形態では、５）未満の間は、その起動エラー回数３３に対応する連携先アプリが、連携先アプリの候補７０として抽出され、ＬＣＤ１８の連携先アプリ選択画面に表示される。よって、ある連携先アプリにおいて、ユーザが操作を間違えたなどの意図しない理由により、偶然、今回の処理では扱えないデータ形式の連携ファイルが本アプリ１４ｂに渡されて、その連携先アプリが、連携先アプリの候補７０から除外されることを抑制できる。即ち、連携先アプリの候補７０が必要以上に減ることを抑制できる。
【００６４】
このように、第１実施形態によれば、適切なアプリケーションを連携先アプリとして起動できる。また、本実施形態では、今回起動させた連携先アプリ６４を、次回以降に優先的に起動する特定の連携先アプリとするための設定や、その設定の解除は、ユーザが自ら操作して行う必要がないため、操作の不慣れなユーザでも使い易い。
【００６５】
次に、図５を参照して第２実施形態について説明する。図５は、第２実施形態の本アプリ１４ｂに従い、携帯端末１０において実行される既定連携先アプリ設定処理を示すフローチャートである。
【００６６】
第２実施形態の本アプリ１４ｂは、第１実施形態の連携先アプリ選別処理（図３）に代えて、図５に示す既定連携先アプリ設定処理を実行する点が、第１実施形態と異なり、その他の点については同一である。図５に示す既定連携先アプリ設定処理のうち、連携先アプリ選別処理（図３）と同一の部分については、同一のステップ番号を付して、その説明を省略する。
【００６７】
第１実施形態の連携先アプリ選別処理では、処理種別３０ごとに、一のアプリケーションを特定の連携先アプリとして対応づけていた。これに対し、第２実施形態の既定連携先アプリ設定処理では、本アプリ１４ｂに対し、一の既定の連携先アプリを対応づけ、更に、その管理をＯＳ１４ａに行わせる。尚、本実施形態において、ＯＳ１４ａは、アプリケーションごとに、既定のアプリケーションを一つ設定する機能を有しているものとする。
【００６８】
既定連携先アプリ設定処理では、ＣＰＵ１１は、まず、本アプリ１４ｂに対応する一の既定の連携先アプリを示す設定情報を取得するようＯＳ１４ａに指示する（Ｓ２０１）。具体的には、ＣＰＵ１１は、ＯＳ１４ａの各種設定情報が記憶されている所定の記憶領域から、本アプリ１４ｂの既定の連携先アプリを示す設定情報を読み出すようＯＳに指示する。次に、ＣＰＵ１１は、ＯＳ１４ａから取得した設定情報に基づいて、既定の連携先アプリが本アプリに対して設定されているかを判定する（Ｓ２０２）。即ち、本アプリ１４ｂの既定の連携先アプリを示す設定情報が記憶されているかを判定する。第２実施形態では、本アプリ１４ｂに対して設定されている既定の連携先アプリが、連携先アプリの候補に該当する。既定の連携先アプリが設定されている場合（Ｓ２０２：Ｙｅｓ）、ＣＰＵ１１は、その既定の連携先アプリを起動させる（Ｓ２０３）。
【００６９】
一方、既定の連携先アプリが設定されていない場合（Ｓ２０２：Ｎｏ）、ＣＰＵ１１は、画像選択アプリの候補７３を抽出し、その内容をＬＣＤ１８に表示するようＯＳ１４ａに指示する（Ｓ２０４）。具体的には、タイプの種類として「ＩＭＡＧＥ」を指定し、アクションの種類として「ＡＣＴＩＯＮ＿ＰＩＣＫ」を指定して、ＯＳ１４ａのＡＰＩを呼び出し、画像選択アプリの候補７３の抽出およびその表示を要求する。尚、第２実施形態では、図２（ｂ）での説明通りに処理が流れる。
【００７０】
図６は、Ｓ２０４の処理で表示される連携先アプリ選択画面の一例である。図６に示すように、第２実施形態の連携先アプリ選択画面は、チェックボックスＣＢが追加されている点が、第１実施形態と異なる。また、第１実施形態の連携先アプリ選択画面は、本アプリ１４ｂにより作成されるものであり、ＯＳ１４ａにより抽出された画像選択アプリの候補７３のうち、起動エラー回数３３に基づいて抽出された連携先アプリの候補７０を含んでいた。これに対し、第２実施形態の画面は、ＯＳ１４ａにより作成されるものであり、ＯＳ１４ａにより抽出された画像選択アプリの候補７３を含む。
【００７１】
チェックボックスＣＢは、カーソルＫにより指定した画像選択アプリを、本アプリ１４ｂの既定の連携先アプリとして設定するよう、ＯＳ１４ａに指示するものである。具体的には、チェックボックスＣＢがチェックされている状態で、決定ボタン７１により一の画像選択アプリが決定されると、ＯＳ１４ａによって、その一の画像選択アプリが、本アプリ１４ｂの既定の連携先アプリとして設定される。一方、チェックボックスＣＢがチェックされていない状態で、決定ボタン７１により一の画像選択アプリが決定された場合には、既定の連携先アプリについての設定や変更は行われない。
【００７２】
図５の説明に戻る。ＣＰＵ１１は、連携先アプリ選択画面に表示される画像選択アプリの候補７３のうち、一つがユーザにより決定されたかを判定し（Ｓ２０５）、決定されていない場合は（Ｓ２０５：Ｎｏ）、決定されるまで次のステップに進まない。一方、画像選択アプリが一つユーザにより決定された場合（Ｓ２０５：Ｙｅｓ）、ＣＰＵ１１は、その決定された画像選択アプリを連携先アプリとして起動させる（Ｓ２０６）。Ｓ２０６の処理では、チェックボックスＣＢがチェックされている状態で、ユーザにより決定ボタン７１が操作され、一の画像選択アプリが決定された場合、ＣＰＵ１１は、そのユーザにより決定された一の画像選択アプリを、本アプリ１４ｂの既定の連携先アプリとして設定するようＯＳ１４ａに指示する。即ち、本アプリ１４ｂの既定の連携先アプリを示す設定情報を、所定の記憶領域にＯＳ１４ａに記憶させる。尚、その設定情報を、本アプリ１４ｂが、所定の記憶領域に記憶させても良い。
【００７３】
そして、Ｓ２０３の処理、又は、Ｓ２０６の処理で起動させた連携先アプリ６４から連携ファイルを受信し（Ｓ１０８）、且つ、その受信した連携ファイルが本アプリ１４ｂで処理可能な場合（Ｓ１０９：Ｙｅｓ）、ＣＰＵ１１は、今回起動させた連携先アプリ６４を、本アプリ１４ｂの既定の連携先アプリとして設定するよう、ＯＳ１４ａに指示する（Ｓ２０７）。即ち、今回起動させた連携先アプリ６４を、連携先アプリの候補とする。
【００７４】
これにより、今回の処理と同一の処理が、次回実行される場合に、既定の連携先アプリが設定されていると判定されるので（Ｓ２０２：Ｙｅｓ）、次回も、今回と同じ連携先アプリを起動できる。よって、次回も、適切な連携先アプリを起動できる。また、次回は、起動させる連携先アプリをユーザが選択しなくて済むので、ユーザ操作を軽減できる。既定の連携先アプリについての設定後、ＣＰＵ１１は、連携先アプリ６４から受信した連携ファイルを用いて、今回の処理を実行し（Ｓ１１１）、本処理を終了する。
【００７５】
一方、連携先アプリ６４から連携ファイルを受信し（Ｓ１０８）、且つ、その受信した連携ファイルが本アプリ１４ｂで処理不可能な場合（Ｓ１０９：Ｎｏ）、ＣＰＵ１１は、今回起動させた連携先アプリ６４が、本アプリ１４ｂの既定の連携先アプリとして設定されているかを判定する（Ｓ２０８）。今回起動させた連携先アプリ６４が、既定の連携先アプリとして設定されている場合（Ｓ２０８：Ｙｅｓ）、ＣＰＵ１１は、既定の連携先アプリについての設定を解除するように、ＯＳ１４ａに指示する（Ｓ２０９）。ここでは、今回起動させた連携先アプリ６４が、本アプリ１４の既定の連携先アプリであることを示す設定情報を、ＯＳ１４ａに消去させる。即ち、今回起動させた連携先アプリ６４を、連携先アプリの候補から除外する。
【００７６】
これにより、今回の処理と同一の処理が、次回実行された場合に、今回起動させた連携先アプリ６４が、既定の連携先アプリとして起動されなくなる。よって、次回、不適切な連携先アプリが起動されることを抑制できる。一方、今回起動させた連携先アプリ６４が、本アプリ１４ｂの既定の連携先アプリとして設定されていない場合（Ｓ２０８：Ｎｏ）、ＣＰＵ１１は、何もせずに、本処理を終了する。
【００７７】
第２実施形態によれば、既定の連携先アプリは、ＯＳ１４ａに管理させるので、本アプリ１４ｂで行う制御を軽減できる。よって、本アプリ１４ｂの設計や開発に要する労力を軽減できる。また、連携先アプリ管理テーブル１４ｂ１を設けなくても良い。
【００７８】
また、既定の連携先アプリについての設定や、その設定の解除は、本アプリ１４ｂの本処理で行うため、ユーザが自らＯＳ１４ａの設定を確認して、その設定を変更したり、既定の連携先アプリについての設定情報を削除する必要がなく、操作の不慣れなユーザでも使い易い。
【００７９】
次に、図７を参照して第３実施形態について説明する。図７は、第３実施形態の本アプリ１４ｂに従い、携帯端末１０において実行される連携先アプリ選別処理を示すフローチャートである。
【００８０】
第３実施形態の本アプリ１４ｂは、第１実施形態の連携先アプリ選別処理（図３）に代えて、図７に示す連携先アプリ選別処理を実行する点が、第１実施形態と異なり、その他の点については同一である。図７に示す連携先アプリ選別処理のうち、連携先アプリ選別処理（図３）と同一の部分については、同一のステップ番号を付して、その説明を省略する。
【００８１】
第１実施形態の連携先アプリ選別処理では、連携先アプリに対応する起動エラー回数３３を増加させる一方であった。これに対し、第３実施形態の連携先アプリ選別処理では、連携先アプリ選別処理が実行開始される度に、その起動エラー回数３３を０に戻す。
【００８２】
連携先アプリ選別処理では、ＣＰＵ１１は、連携先アプリ管理テーブル１４ｂ１において、今回の処理に分類されている各起動エラー回数３３をそれぞれ０に設定する（Ｓ３０１）。次に、ＣＰＵ１１は、画像選択アプリの候補７３をＯＳ１４ａから取得し（Ｓ１０４）、その画像選択アプリの候補７３のうち、起動エラー回数３３が０のアプリケーションを、連携先アプリの候補７０として抽出し、それをＬＣＤ１８に表示させる（Ｓ３０２）。Ｓ３０２の処理では、例えば、第１実施形態と同様な連携先アプリ選択画面（図４参照）が表示される。尚、画像選択アプリの候補７３に対応する情報（連携先アプリ名３１や起動エラー回数３３など）が、連携先アプリ管理テーブル１４ｂ１に記憶されていない場合は、その情報を、Ｓ１０５の処理（図３）の場合と同様に追加する。また、第３実施形態も、図２（ｂ）での説明通りに処理は流れず、第１実施形態と同様に、処理の流れが一部変わる。
【００８３】
連携先アプリ選択画面において、連携先アプリの候補７０の一つがユーザにより決定された場合（Ｓ１０６：Ｙｅｓ）、ＣＰＵ１１は、その決定された連携先アプリを起動させ（Ｓ１０７）、起動させた連携先アプリ６４から連携ファイルを受信する（Ｓ１０８）。受信した連携ファイルが本アプリ１４ｂで処理可能な場合（Ｓ１０９：Ｙｅｓ）、ＣＰＵ１１は、その受信した連携ファイルを用いて、今回の処理を実行し（Ｓ１１１）、本処理を終了する。一方、受信した連携ファイルが本アプリ１４ｂで処理不可能な場合（Ｓ１０９：Ｎｏ）、ＣＰＵ１１は、連携先アプリ管理テーブル１４ｂ１において、今回の処理に分類されている起動エラー回数３３のうち、今回起動させた連携先アプリ６４に対応するものに１を加算する（Ｓ１１４）。そして、ＣＰＵ１１は、Ｓ１０４の処理へ戻る。
【００８４】
その結果、現在の連携先アプリ選択処理の実行中に今回の処理では扱えないデータ形式の連携ファイルを渡してきた連携先アプリ６４（不適切な連携先アプリ６４）が、連携先アプリの候補７０から除外され、残ったものがＬＣＤ１８の連携先アプリ選択画面に表示される。そして、適切な連携先アプリを起動できるまでは、不適切な連携先アプリが起動される度に、その不適切な連携先アプリが連携先アプリの候補から除外され、起動し直す回数が多いほど、不適切な連携先アプリが除外されて行く。従って、連携先アプリの起動を繰り返すことで、ユーザが適切な連携先アプリを起動できる。
【００８５】
また、本実施形態では、連携先アプリ選別処理を実行開始した場合に、今回の処理に分類されている各起動エラー回数３３をそれぞれ０に設定している（Ｓ３０１）。よって、現在実行中の連携先アプリ選別処理において、ある連携先アプリ６４が連携先アプリの候補７０から除外されたとしても、次回、新たに連携先アプリ選別処理を起動した場合には、その開始時に連携先アプリの候補７０として復帰する。従って、選択肢が必要以上に減ることを抑制できる。
【００８６】
また、本実施形態では、ユーザの目的が変わるタイミングとなり得る、処理の実行開始タイミングにおいて、連携先アプリの候補７０が、初期状態（一つも除外されていない状態）に戻るように構成している。よって、その目的に合わせて、ユーザが連携先アプリを選択し起動できるので、ユーザの使い勝手が良い。一例として、同一のアプリケーション（例えば、ギャラリー）が連携先アプリとして起動される場合を考える。本アプリ１４ｂが起動された場合に、ギャラリーが連携先アプリとして起動され、その後、ギャラリーの検索機能を利用してユーザが連携ファイルを指定したが、その連携ファイルは今回の処理（例えば、写真印刷処理）では処理不可能であったとする。この場合、ギャラリーは、不適切な連携先アプリとして除外される。しかしながら、本アプリ１４ｂの次回以降の起動において、再び、ギャラリーが連携先アプリとして起動されたとしても、常に、ギャラリーの検索機能が利用されるとは限らず、場合によっては、ユーザは、ファイルの直接指定など別の機能を利用して連携ファイルが指定することもある。ファイルを直接指定する場合には、検索機能を利用する場合とは異なり、写真印刷処理で処理可能なＪＰＥＧ形式のファイルの存在をユーザが予め把握している可能性が高く、適切な連携ファイルが指定される可能性が高い。よって、この場合、ギャラリーは、適切な連携先アプリとなる可能性が高い。このように、連携ファイルの指定方法は、同一のアプリケーション（ギャラリー）が利用されるとしても、利用される（起動される）度に変わる可能性がある。従って、本実施形態によれば、一度、不適切な連携先アプリとして除外されたアプリケーションであっても、新たに連携先アプリ選別処理を起動したときには、起動エラー回数３３をリセットし、再度、連携先アプリとして起動可能としている。
【００８７】
上記実施形態において、デバイス制御アプリケーション１４ｂ、及び、その他のアプリケーション１４ｃが、複数のアプリケーションプログラムの一例である。連携元アプリ６０が、連携元プログラムの一例である。連携先アプリ６４が、連携先プログラムの一例である。連携ファイルが処理対象データの一例である。連携機能を実現するＯＳ１４ａやＣＰＵ１１が、連携手段の一例である。携帯端末１０が、情報処理装置の一例である。デバイス制御アプリケーション１４ｂが、情報処理プログラムの一例である。図３に示すＳ１０１、Ｓ１０４，Ｓ１０５、図５に示すＳ２０１、又は、図７に示すＳ１０４，Ｓ３０２を実行するＣＰＵ１１が、候補取得手段の一例および候補取得ステップの一例である。図３に示すＳ１０３、図３若しくは図７に示すＳ１０７、図５に示すＳ２０３、又は、Ｓ２０６を実行するＣＰＵ１１が、起動指示手段の一例および起動指示ステップの一例である。図３、図５、又は、図７に示すＳ１０８を実行するＣＰＵ１１が、データ取得手段の一例およびデータ取得ステップの一例である。図３、図５、又は、図７に示すＳ１０９を実行するＣＰＵ１１が、処理判断手段の一例および処理判断ステップの一例である。図３に示すＳ１０５，Ｓ１１４、図５に示すＳ２０９、又は、図７に示すＳ３０２，Ｓ１１４を実行するＣＰＵ１１が、除外手段の一例および除外ステップの一例である。起動エラー回数３３が、起動不可情報の一例である。フラッシュメモリ１４が、記憶部の一例である。図３又は図７に示すＳ１１４を実行するＣＰＵ１１が、第１記憶制御手段の一例である。既定の連携先アプリの設定に伴ってＯＳ１４ａまたは本アプリ１４ｂにより記憶される設定情報が優先起動情報の一例である。連携指定フラグ３２が、優先起動情報の一例である。図３に示すＳ１１０、Ｓ１１３、図５に示すＳ２０７、又は、Ｓ２０９を実行するＣＰＵ１１が、第２記憶制御手段の一例である。図３に示すＳ１１２、又は、図５に示すＳ２０８を実行するＣＰＵ１１が、優先判断手段の一例である。ＬＣＤ１８が、表示部の一例である。図３に示すＳ１０４，Ｓ１０５、図５に示すＳ２０４、又は、図７に示すＳ１０４，Ｓ３０２を実行するＣＰＵ１１が、表示制御手段の一例である。図３若しくは図７に示すＳ１０６、又は、図５に示すＳ２０５を実行するＣＰＵ１１が、起動指示受付手段の一例である。図３又は７に示すＳ１１４を実行するＣＰＵ１１が、計数手段の一例である。第３実施形態における連携先アプリ選別処理の実行開始タイミングが所定の条件の一例である。図７に示すＳ３０１を実行するＣＰＵ１１が、復帰手段の一例である。全表示ボタン７２が、要求受付手段の一例である。
【００８８】
以上、実施形態に基づき本発明を説明したが、本発明は上述した実施形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の改良変更が可能であることは容易に推察できるものである。
【００８９】
例えば、上記実施形態では、携帯端末１０が情報処理装置の一例であったが、パーソナルコンピュータ、ＰＤＡ、タブレット端末など各種の装置も情報処理装置の一例となり得る。
【００９０】
また、上記実施形態では、図３，５，及び７のフローチャートに示す各ステップは、本アプリ１４ｂがＣＰＵ１１に実行させるものとして説明しているが、本アプリ１４ｂがＯＳ１４ａなどの機能を利用してＣＰＵ１１に各ステップを実行させても良い。また、図３，５，及び７の各フローチャートが含むステップは、ＯＳ１４ａやその他アプリケーションがＣＰＵ１１に実行させるステップに一部置き換えられても良い。また、ＣＰＵ１１の関与によらず、携帯端末１０に設けられたハードウェアそのものが作動することによって実現されるステップに、一部置き換えられても良い。
【００９１】
また、上記実施形態で挙げた具体的数値は一例であり、他の数値を採用することは当然可能である。例えば、連携先アプリの候補７０として抽出（又は、表示）するか否かを判断するために用いる起動エラー回数３３の基準値は、任意である。
【００９２】
また、上記実施形態では、「写真印刷処理」及び「ＰＤＦ印刷処理」を、本アプリ１４ｂにおいてユーザが指示可能な処理（処理種別３０）の一例としたが、Ｗｅｂページ印刷処理や、文書印刷処理や、スキャン処理など、別の処理を指示できるように、本アプリ１４ｂを構成しても良い。また、一の処理で扱うデータ形式は、１つでも良いし、複数種類でも良い。
【００９３】
また、上記実施形態では、ＯＳ１４ａから画像選択アプリの候補７３を取得しているが、処理種別３０に応じて、タイプの種類やアクションの種類を変えてＯＳ１４ａのＡＰＩを呼び出し、所定の条件を満たすアプリケーションの候補をＯＳ１４ａから取得しても良い。
【００９４】
また、上記実施形態では、連携先アプリから本アプリ１４ｂに対して、連携ファイルが一つ渡される場合の例について説明したが、複数の連携ファイルが渡される場合についても、本発明を適用できる。その場合、Ｓ１０９の処理では、受信した各連携ファイルについて、本アプリ１４ｂで処理可能かをそれぞれ判定し、受信した全ての連携ファイルが本アプリ１４ｂで処理可能と判定された場合、Ｓ１０９：Ｙｅｓへ分岐し、それ以外の場合、Ｓ１０９：Ｎｏへ分岐するように構成しても良い。
【００９５】
また、上記実施形態では、受信した連携ファイルの拡張子を確認することで、その受信した連携ファイルが、処理可能なデータであるか否かを判定しているが、受信した連携ファイルのヘッダを確認して判定しても良い。また、受信した連携ファイルを実際に処理してみて、問題なく処理できた場合には、処理可能なデータであると判定し、エラーなど問題が発生した場合には、処理可能なデータではないと判定しても良い。
【００９６】
また、上記第１および第３実施形態では、連携先アプリ６４から受信した連携ファイルが本アプリ１４ｂで処理不可能な場合（Ｓ１０９：Ｎｏ）、その処理不可能な連携ファイルを渡してきた連携先アプリ６４に対応する起動エラー回数３３（起動不可情報）に１を加算している。これに対し、処理不可能な連携ファイルを渡してきた連携先アプリ６４を示す情報（例えば、アプリ名など）を起動不可情報として記憶させても良い。そして、この起動不可情報が記憶されている場合、Ｓ１０５やＳ３０２の処理では、その起動不可情報により示されるアプリケーションを連携先アプリの候補７０から除外し、残ったものを連携先アプリ選択画面に表示させても良い。また、その処理不可能な連携ファイルを渡してきた連携先アプリ６４を示す情報（例えば、アプリ名など）と、その連携先アプリ６４に対応する起動エラー回数３３とを起動不可情報として記憶させても良い。
【００９７】
また、上記第２実施形態では、ＯＳ１４ａにより取得される画像選択アプリの候補７３を全てＬＣＤ１８に表示しているが（Ｓ２０４）、第１または第３実施形態と同様に、起動エラー回数３３が基準値未満のものを、連携先アプリの候補７０としてＬＣＤ１８に表示させても良い。尚、この場合は、第１または第３実施形態と同様に、各連携先アプリについて起動エラー回数３３を計数する。
【００９８】
また、上記第３実施形態では、連携先アプリについての起動エラー回数３３は、０または１の何れかの値（状態）となるので、起動エラー回数３３の代わりにフラグ設けて、２つの状態を判別できるように構成しても良い。
【００９９】
また、上記第３実施形態では、連携先アプリ選別処理の実行開始時（所定の条件の一例）に、各起動エラー回数３３をそれぞれ０に設定しているが、これに代えて、例えば、ユーザにより指示された処理の種別が前回と比較して変わった場合や、今回の連携先アプリ選別処理が開始されてから所定時間（例えば、１時間）が経過した場合に、各起動エラー回数３３をそれぞれ０に設定しても良い。また、連携先アプリ選択画面内に、初期化ボタンを設けておき、その初期化ボタンがユーザにより押下された場合（所定の条件の一例）に、各起動エラー回数３３をそれぞれ０に設定しても良い。このように構成する場合、処理の種別や、ユーザの目的が変わる可能性の高いタイミングで、連携先アプリの候補７０が、初期状態（一つも除外されていない状態）に戻るように構成できる。よって、実行する処理や、その処理の目的に合わせて、ユーザが連携先アプリを選択し起動でき、ユーザの使い勝手が良い。上記第１または第２実施形態も、同様のタイミングで、初期状態にしても良い。
【０１００】
また、本アプリ１４ｂと、連携先アプリ６４との間で、ファイルを互いに送受信し合う場合でも、本発明を適用できる。例えば、本アプリ１４ｂから連携先アプリ６４に対して処理対象ファイル渡し、連携先アプリ６４では本アプリ１４から渡された処理対象ファイルについて所定の処理（例えば、画像処理）を行わせ、その処理結果として生成されたファイルを、本アプリ１４ｂの処理対象ファイル（連携ファイル）として、連携先アプリ６４から受け取る場合も、本発明を適用できる。
【０１０１】
また、上記実施形態において、連携先アプリの候補７０として許可するアプリケーションを予め設定しておき、ＯＳ１４ａから取得した画像選択アプリの候補７３のうち、予め許可されたものを、連携先アプリの候補７０として連携先アプリ選択画面に表示させても良い。例えば、適切なデータ形式の連携ファイルを本アプリ１４ｂに渡す可能性の高いアプリケーション群を、本アプリ１４ｂの開発段階で調査等を行って予め見つけておき、そのアプリケーション群を示す起動許可情報をフラッシュメモリ１４等に、インストール時に記憶させる。そして、ＯＳ１４ａから取得した画像選択アプリの候補７３のうち、起動許可情報により示されるアプリケーションに該当するものを抽出し、その抽出したものを連携先アプリの候補７０として、連携先アプリ選択画面に表示させる。尚、第１または第３実施形態のように、更に、その抽出された連携先アプリの候補７０のうち、起動エラー回数３３が５未満のもの、又は、０のものを、連携先アプリの候補７０として、連携先アプリ選択画面に表示させても良い。これにより、適切なデータ形式の連携ファイルを本アプリ１４ｂに渡す可能性の高い連携先アプリ（又は、画像選択アプリ）を、ユーザが選択できるので、より適切な連携先アプリをユーザが起動できる。
【０１０２】
また、上記１実施形態では、画像選択アプリの候補７３のうち、起動エラー回数３３が５以上のアプリケーションは、連携先アプリ選択画面に表示していないが、起動エラー回数３３が５以上のものも、連携先アプリ選択画面に表示しても良い。例えば、起動エラー回数３３が５未満のアプリケーションと、起動エラー回数３３が５以上のアプリケーションとを、ユーザが判別できるように、文字色を変えたり、文字の背景色を変えて表示させる。但し、起動エラー回数３３が５以上のアプリケーションは、ユーザにより選択できないようにする。この場合にも、不適切な連携先アプリがユーザにより選択されることを抑制できるので、より適切な連携先アプリをユーザが選択し、起動できる。尚、上記第３実施形態についても同様である。
【０１０３】
また、上記実施形態では、連携先アプリ管理テーブル１４ｂ１において、処理種別３０ごとに、連携先アプリについての情報（連携先アプリ名３１など）を記憶しているが、処理種別３０ごとに分類せずに、連携先アプリについての情報を記憶しても良い。
【０１０４】
また、上記実施形態では、携帯端末１０に内蔵されたフラッシュメモリ１４内に連携先アプリ管理テーブル１４ｂ１を記憶させるものとして説明したが、メモリカード２０内に、連携先アプリ管理テーブル１４ｂ１を記憶させても良い。その場合、メモリカード２０が、記憶部の一例に対応する。
【０１０５】
また、上記第１実施形態では、今回起動させた連携先アプリ６４を、今回の処理における特定の連携先アプリとして対応づける（Ｓ１１０）場合、連携先アプリ管理テーブル１４ｂ１において、今回の処理に分類されている連携指定フラグ３２を確認し、そこで、今回起動させた連携先アプリ６４以外に対応する連携指定フラグ３２がオンである場合、そのオンになっている連携指定フラグ３２をオフし、今回起動させた連携先アプリ６４に対応する連携指定フラグ３２をオンしている。これに対し、今回起動させた連携先アプリ６４以外に対応する連携指定フラグ３２がオンである場合は、何もしなくても良い。
【０１０６】
また、上記第１実施形態において、今回の処理に対応する特定の連携先アプリを、連携先アプリの候補としても良い。その場合、Ｓ１０１の処理を実行するＣＰＵ１１が、候補取得手段の一例に対応する。
【符号の説明】
【０１０７】
１０                  携帯端末
１４ａ                ＯＳ
１４ｂ                デバイス制御アプリケーション
１４ｃ                その他のアプリケーション
３２                  連携指定フラグ
３３                  起動エラー回数
６０                  連携元アプリ
６４                  連携先アプリ
【図１】
0005712816.tif 000002
【図２】
0005712816.tif 000003
【図３】
0005712816.tif 000004
【図４】
0005712816.tif 000005
【図５】
0005712816.tif 000006
【図６】
0005712816.tif 000007
【図７】
0005712816.tif 000008