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