(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024163231
(43)【公開日】2024-11-21
(54)【発明の名称】情報処理装置、プログラム及び制御方法
(51)【国際特許分類】
G06F 16/14 20190101AFI20241114BHJP
G06F 16/16 20190101ALI20241114BHJP
H04N 1/00 20060101ALI20241114BHJP
【FI】
G06F16/14 200
G06F16/16
H04N1/00 127B
【審査請求】有
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2024151535
(22)【出願日】2024-09-03
(62)【分割の表示】P 2020151317の分割
【原出願日】2020-09-09
(71)【出願人】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100126240
【弁理士】
【氏名又は名称】阿部 琢磨
(74)【代理人】
【識別番号】100223941
【弁理士】
【氏名又は名称】高橋 佳子
(74)【代理人】
【識別番号】100159695
【弁理士】
【氏名又は名称】中辻 七朗
(74)【代理人】
【識別番号】100172476
【弁理士】
【氏名又は名称】冨田 一史
(74)【代理人】
【識別番号】100126974
【弁理士】
【氏名又は名称】大朋 靖尚
(72)【発明者】
【氏名】小松 宏平
(57)【要約】
【課題】 モバイル端末ストレージの所定のフォルダにデータを保存するアプリケーションがある。オペレーティングシステムのバージョン更新等により、アプリケーションがフォルダを使用できなくなる場合が有る。
【解決手段】 アプリケーションがフォルダを使用できなくなった場合、当該アプリケーションがフォルダにアクセスすることを許可するための画面を表示する。
【選択図】
図7
【特許請求の範囲】
【請求項1】
情報処理装置のオペレーティングシステム上で動作し、前記情報処理装置のコンピュータに制御方法を実行させるためのアプリケーションのプログラムであって、
前記制御方法は、
前記アプリケーションが実行可能な複数の機能であって、フォルダにデータを保存する処理を含む第1の機能とフォルダにデータを保存する処理を含まない第2の機能を含む前記複数の機能の中から実行する機能を選択するためのメニュー画面をする表示工程を有し、
前記表示工程では、
前記アプリケーションに紐付くフォルダが無い状態で、前記メニュー画面から前記第1の機能の選択を受け付けた場合、前記アプリケーションに紐付けるフォルダを選択する選択画面を表示し、
前記アプリケーションに紐付くフォルダが無い状態で、前記メニュー画面から前記第2の機能の選択を受け付けた場合、前記選択画面を表示せず、
前記紐付けるフォルダが選択されたことに基づいて、前記選択画面で選択されたフォルダと前記アプリケーションとが紐付き、以降は前記選択されたフォルダに前記アプリケーションのデータが保存されることを特徴とするプログラム。
【請求項2】
前記情報処理装置は画像処理装置と通信可能であり、前記第1の機能は前記画像処理装置から受信した画像データをフォルダに保存する機能であることを特徴とする請求項1に記載のプログラム。
【請求項3】
前記メニュー画面は前記第1の機能を実行するための第1のボタンを含み、前記第1のボタンは前記第1の機能の設定画面を開くためのボタンであることを特徴とする請求項1または2に記載のプログラム。
【請求項4】
前記第1の機能は前記画像処理装置から画像データを受信する機能であり、前記第2の機能は前記画像処理装置に画像データの送信を指示する機能であることを特徴とする請求項1に記載のプログラム。
【請求項5】
前記第1の機能は前記情報処理装置が備えるカメラを用いて生成された画像データをフォルダに保存する機能であることを特徴とする請求項1に記載のプログラム。
【請求項6】
前記表示工程は、前記選択画面で選択されたフォルダのアクセスを許可するための許可ボタンを表示することを特徴とする請求項1に記載のプログラム。
【請求項7】
前記選択画面はSAF(Storage Access Framework)を利用した画面であるであることを特徴とする請求項1に記載のプログラム。
【請求項8】
前記アプリケーションに紐付くフォルダが無い状態は、前記情報処理装置で動作するオペレーティングシステムのバージョンアップにより、前記プログラムが新たにフォルダへのアクセス許可を取得する必要がある場合に発生することを特徴とする請求項1に記載のプログラム。
【請求項9】
オペレーティングシステム上で動作するアプリケーションを実行可能な情報処理装置であって、
前記アプリケーションが実行可能な複数の機能であって、フォルダにデータを保存する処理を含む第1の機能とフォルダにデータを保存する処理を含まない第2の機能を含む前記複数の機能の中から実行する機能を選択するためのメニュー画面をする表示手段を有し、
前記表示手段は、
前記アプリケーションに紐付くフォルダが無い状態で、前記メニュー画面から前記第1の機能の選択を受け付けた場合、前記アプリケーションに紐付けるフォルダを選択する選択画面を表示し、
前記アプリケーションに紐付くフォルダが無い状態で、前記メニュー画面から前記第2の機能の選択を受け付けた場合、前記選択画面を表示せず、
前記紐付けるフォルダが選択されたことに基づいて、前記選択画面で選択されたフォルダと前記アプリケーションとが紐付き、以降は前記選択されたフォルダに前記アプリケーションのデータが保存されることを特徴とする情報処理装置。
【請求項10】
オペレーティングシステム上で動作するアプリケーションを実行可能な情報処理装置が実行する制御方法であって、
前記アプリケーションが実行可能な複数の機能であって、フォルダにデータを保存する処理を含む第1の機能とフォルダにデータを保存する処理を含まない第2の機能を含む前記複数の機能の中から実行する機能を選択するためのメニュー画面をする表示工程を有し、
前記表示工程では、
前記アプリケーションに紐付くフォルダが無い状態で、前記メニュー画面から前記第1の機能の選択を受け付けた場合、前記アプリケーションに紐付けるフォルダを選択する選択画面を表示し、
前記アプリケーションに紐付くフォルダが無い状態で、前記メニュー画面から前記第2の機能の選択を受け付けた場合、前記選択画面を表示せず、
前記紐付けるフォルダが選択されたことに基づいて、前記選択画面で選択されたフォルダと前記アプリケーションとが紐付き、以降は前記選択されたフォルダに前記アプリケーションのデータが保存されることを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、プログラム及び制御方法に関する。
【背景技術】
【0002】
近年、モバイル端末の普及と共に、企業の業務端末としてもモバイル端末が採用されるケースが増えるようになった。複合機やプリンタ等の画像形成装置に対して処理の実行を指示するためのアプリケーションをインストールしたモバイル端末から、画像処理装置に対して印刷やスキャンの指示を行うことができる。例えばユーザーはアプリケーション上でスキャンの設定を行ってから、スキャンの実行指示を画像形成装置に送信する。実行指示を受信した画像形成装置は設定に従ってスキャン処理を実行する。そしてスキャン処理によって生成された画像データは、アプリケーションにおいて設定されているモバイル端末内のフォルダに保存される。保存先のフォルダはアプリケーションの初回起動時等に生成され、アプリケーションのデータ保存先として自動で設定されることが多い。
【0003】
特許文献1には、画像処理装置がスキャンして生成した画像データをモバイル端末内の所定のフォルダに保存することが記載されており、フォルダに保存された画像データにアクセスする際の利便性を高める方法が開示されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
オペレーティングシステム(OS)の仕様変更等により、アプリケーションがデータの保存先として使用していたフォルダが使用できなくなることが有る。例えばAndroid(登録商標)では、所定のバージョンから各アプリケーションがモバイル端末内にある任意のフォルダへアクセスする場合、当該フォルダにアクセスする許可を取得することが必須となった。つまり、OSを更新したことにより、保存先として利用していたフォルダにアプリケーションがアクセスすることができず、当該フォルダを保存先として使用することができなくなることがある。
【0006】
そこで本発明は、アプリケーションがデータの保存先として使用していたフォルダが使用できなくなった場合でも、データを適切に保存することが可能な方法を提供することである。
【課題を解決するための手段】
【0007】
情報処理装置のオペレーティングシステム上で動作し、前記情報処理装置のコンピュータに制御方法を実行させるためのアプリケーションのプログラムであって、
前記制御方法は、
前記アプリケーションが実行可能な複数の機能であって、フォルダにデータを保存する処理を含む第1の機能とフォルダにデータを保存する処理を含まない第2の機能を含む前記複数の機能の中から実行する機能を選択するためのメニュー画面をする表示工程を有し、
前記表示工程では、
前記アプリケーションに紐付くフォルダが無い状態で、前記メニュー画面から前記第1の機能の選択を受け付けた場合、前記アプリケーションに紐付けるフォルダを選択する選択画面を表示し、
前記アプリケーションに紐付くフォルダが無い状態で、前記メニュー画面から前記第2の機能の選択を受け付けた場合、前記選択画面を表示せず、
前記紐付けるフォルダが選択されたことに基づいて、前記選択画面で選択されたフォルダと前記アプリケーションとが紐付き、以降は前記選択されたフォルダに前記アプリケーションのデータが保存されることを特徴とするプログラム。
【発明の効果】
【0008】
アプリケーションがデータの保存先として使用していたフォルダが使用できなくなった場合でも、データを適切に保存することが可能となる。
【図面の簡単な説明】
【0009】
【
図2】データ処理装置のハードウェア構成を示す図である。
【
図3】画像処理装置のハードウェア構成を示す図である。
【
図4】データ処理装置のソフトウェアの構成を示す図である。
【
図5】データ処理装置で動作するアプリケーションが表示する画面の一例を示す図である。
【
図6】データ処理装置で動作するアプリケーションが表示する画面の一例を示す図である。
【
図7】実施例1におけるアプリケーションの処理フローを示すフローチャートである。
【
図8】実施例2におけるデータ処理装置のソフトウェアの構成を示す図である。
【
図9】実施例2におけるアプリケーションの処理フローを示すフローチャートである。
【
図10】実施例2においてアプリケーションが表示する画面を示す図である。
【
図11】実施例2におけるアプリケーションの処理フローを示すフローチャートである。
【発明を実施するための形態】
【0010】
以下、添付図面を参照して本実施形態を詳しく説明する。また、本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【0011】
(実施例1)
以下、図面を参照し、本実施例について詳細に説明する。
図1は、本実施例における情報処理システムの構成を示す図である。
図1において、データ処理装置101は、画像処理装置104に対して印刷ジョブやスキャンジョブを送信するために使用される情報処理装置であり、情報処理装置上でユーザーから各種操作を受け付ける。データ処理装置101は、例えばスマートフォンやタブレットといったモバイル端末である。104は画像処理装置であって、スキャン機能のほか、コピー機能、プリント機能、ファクス送信機能等を備えていてもよい。
【0012】
103はデータ処理装置101や画像処理装置104が接続されているLAN(Local Area Network)であって、データ処理装置101や画像処理装置104はLAN103を介して相互通信を行っている。102は無線LANターミナルである。無線LANターミナル102は、一般的なネットワーク・ルーター機能を有した無線LANの親機であって、家庭内や事務所などの中で無線LANを提供している。また、データ処理装置101は無線LAN機能を有効にすることで、無線LANターミナル102を介してLAN103に参加することができる。データ処理装置101は、無線LANターミナル102が提供する無線LANエリアに入ると、データ処理装置101内に予め設定されている認証情報を利用して自動的にLAN103のネットワークに参加することができる。
【0013】
図2は、
図1におけるデータ処理装置101のハードウェア構成を示すブロック図である。データ処理装置101は、タブレットやスマートフォンといった端末であり、小型端末用のオペレーティングシステムや、通話、データ通信を制御するプログラムが動作していても構わない。あるいは後述する音声・画像制御部206及びマイク・スピーカ・カメラ213、位置検出制御部210、GPSセンサー216、携帯電話データ通信部212等を備えないパーソナルコンピュータであっても構わない。
【0014】
ハードウェアの各構成要素は、システムバス201に接続されている。ROM203にはデータ処理装置101におけるオペレーティングシステム及び、通話、データ通信を制御するアプリケーションが格納されており、CPU202で実行される。データ通信を制御するアプリケーションとしては、画像処理装置104と各種データのやり取りを行うアプリケーションやMailソフト、Webブラウザなどがある。
【0015】
RAM204は、プログラムを実行するためのメモリであり、アプリケーションがプログラムを実行するワークメモリエリアである。また、RAM204はアプリケーションがプログラム実行時に一時的に保存しなければならないデータ等を一時記憶するためのメモリでもある。記憶装置209は不揮発性の記憶装置であり、データ処理装置101の再起動後も保持しておく必要のある各種動作モード設定や、稼働ログなどが記憶される。
【0016】
NetworkController205は、無線LANターミナル102を介してLAN103のネットワークに参加するための無線LAN通信部211と、携帯キャリアの提供するネットワークに参加するための携帯電話データ通信部212による通信制御を行う。
【0017】
音声・画像制御部206は、例えば通話アプリケーションが起動され、ユーザーが電話をしているときに使用される。マイク・スピーカ213にて音声データの入出力を行い、音声・画像制御部206は、その音声データと音声データ制御プログラムとの仲介を行っている。また音声・画像制御部206は、カメラ213で撮像して生成した画像データと画像データ制御プログラムとの仲介を行う。
【0018】
表示制御部207は、データ処理装置101のディスプレイ214にて出力する情報の制御を行っている。入力制御部208は、データ処理装置101のボタンやタッチパネル215にてユーザーが指示した情報の制御を行っている。これらの音声・画像制御部206、表示制御部207、入力制御部208を利用して、データ処理装置101上で動作するアプリケーションは、ネットワーク通信情報やデータ処理装置101のさまざまな情報をユーザーに提供する。
【0019】
位置検出制御部210は、GPSセンサー216からデータ処理装置101の位置情報を取得しオペレーティングシステム上に提供される。これらの制御は、CPU202で動くオペレーティングシステム(OS)にて制御される。
【0020】
図3は、
図1における画像形成装置104及び105のハードウェア構成を説明するブロック図である。本例は、スキャナ機能と、プリンタ機能を有する複合機(MFP(Multi Function Perpheral))の例を示す。
【0021】
図3において、301はI/Oであり、LAN通信部314を含む。LAN通信部314は、ネットワーク(LAN)103などを介してデータ処理装置101と通信可能である。例えば、画像処理装置104でスキャンして生成した画像データをLANを介して、データ処理装置101に送信する。I/O301は複数の接続形態に対応するために複数個搭載されていても良い。このI/O301を通して、画像処理装置104は、デバイスIDやスキャンイメージをデータ処理装置101に渡す。またデータ処理装置101より、各種の制御コマンドを受けて処理を行う。I/F制御部302は、画像処理装置104に搭載されているスキャナやプリンタ、またはファクスなどの処理系に関してデバイスIDを発行する制御をおこなっている。RAM303は、一次記憶装置で、I/O301で取得した制御コマンドなどの外部データや、スキャナエンジン313で読み取られたイメージデータ(あるいは画像データ。以下イメージと称する)を格納するに使用される。さらに、RAM303は、プリンタコントローラ310で展開されたプリンタエンジン306に渡される前のイメージの格納などに使用される。RAM303の割り当て管理はRAM制御部304が行っている。画像データ調歩回路305は、プリンタコントローラ310によって展開されたイメージや、スキャナエンジン313によって取り込まれ、RAM303に展開されたイメージをプリンタエンジン306の回転にあわせて出力する装置である。プリンタエンジン306は紙などの出力メディアにイメージを現像する装置である。メインコントローラ308は、エンジンI/F307によりプリンタエンジン306の各種制御を行う。また、メインコントローラ308は、制御の要のモジュールであり、スキャナコントローラ309やプリンタコントローラ310にI/O301経由でデータ処理装置101より受け取る制御言語の適切な振り分け処理を行う。さらに、メインコントローラ308は、それぞれのコントローラやユーザーインターフェース312からの指示をうけてプリンタエンジン306やスキャナエンジン313の制御を行う。スキャナコントローラ309はデータ処理装置101より受けたスキャン制御コマンドをメインコントローラ308が解釈可能な内部実行命令に分解する。またスキャナエンジン313で読み取ったイメージをスキャン制御コマンドに変更する。プリンタコントローラ310はデータ処理装置101より印刷ジョブとして受けたPDL(Page Description Language)をメインコントローラ308が解釈可能な展開イメージなどを含む内部実行命令に分解する。展開イメージはプリンタエンジンまで運ばれ、用紙などの出力メディアに印刷される。
【0022】
図4は、
図1に示したデータ処理装置101のソフトウェアの構成を説明するブロック図である。401はデータ処理装置101上で実行されるアプリケーションで、OS410上で動作するアプリケーションとしてROM203にインストールされている。アプリケーション401は、画像処理装置に対して印刷指示やスキャン指示を行うアプリケーションである。例えば画像処理装置104に対してスキャン指示を送信し、当該指示に応じて画像処理装置104がスキャンして生成した画像データを受信し、データ処理装置101のストレージに保存するアプリケーションである。また、データ処理装置101が備えるカメラ213で撮像した画像を保存する機能も有する。UI部402はアプリケーション401のUI部であり、アプリケーション固有の機能をユーザーに設定させるためのユーザーインターフェースを提供する。画像処理装置探索部403は画像処理装置の探索部であり、データ処理装置101が参加するLAN103上におけるネットワーク機器を探索する。より詳細にはデータ処理装置101が印刷、スキャン指示可能な画像処理装置を探索する。制御部404はアプリケーション401が行う各種処理の制御を行う。例えば制御部404は印刷ジョブやスキャンジョブを生成し、通信可能な画像処理装置に当該生成したジョブの送信を行う。またアプリケーション401において生成されたデータを保存する処理等を行う。ファイル保存部405はアプリケーション401が生成、受信したファイル等を保存する。例えば画像処理装置104がスキャンして生成した画像データを画像処理装置104から受信し保存する。ファイル保存部405に保存されたデータはアプリケーション401以外のアプリケーションから参照、利用することが可能である。
【0023】
たとえばアプリケーション401の初回起動時等にデータを格納するファイル保存部405に対応するフォルダが自動で生成される。以降スキャンして生成された画像データ(スキャンデータ)、カメラで撮像することで生成された画像データは当該生成されたフォルダに保存されるようになる。
【0024】
アプリケーション420は、例えばアプリケーション401と同様の機能を持つアプリケーションであり、ファイル保存部421を有するものとする。データ処理装置101にインストールされているアプリケーションはこれらに限らず、他のアプリケーションがインストールされていても良い。
【0025】
図5は、アプリケーション401が画像処理装置104に対してスキャンジョブを送信する際の画面の例を示す。メニュー画面501はアプリケーション401を起動した直後に表示されるトップメニュー画面であり、ユーザーからの各種入力操作の受け付けを行う。選択ボタン502は、印刷、スキャンの実行指示対象となる画像処理装置を選択するための画面に遷移するボタンである。選択ボタン502には現在選択中の画像処理装置に関する情報が表示される。ここでは画像処理装置104に対応するプリンタ「C iR-xxxx」が印刷、スキャン指示対象の装置として選択されている。
【0026】
スキャンボタン503は、画像処理装置104にスキャン指示を行うための設定画面に遷移するボタンである。スキャンボタン503の下部には、画像処理装置がスキャンして生成した画像データを保存する、データ処理装置101内の保存先フォルダ名が表示されるようにしても良い。ここでは保存先フォルダは「アプリ401」フォルダに設定されているものとする。このフォルダはアプリケーション401が初回起動された時等にデータ処理装置101のストレージ領域に自動で生成され、アプリケーション401の画像データ格納先として予め設定されるものとする。「アプリ401」フォルダはファイル保存部405に対応し、格納されたデータは、他のアプリケーションからも参照、使用でき、処理実行可能である。
【0027】
プリントボタン505は画像処理装置104に対して印刷指示を行うための設定画面に遷移するボタンである。キャプチャボタン506はデータ処理装置101が備えるカメラで撮像を行うための画面に遷移するボタンである。撮像して生成された画像データは、「アプリ401」フォルダに格納される。
【0028】
スキャン設定画面510はスキャンボタン502が押下されると表示される画面である。スキャンに関する設定を行ってスキャン開始ボタン511が押下されると、スキャンジョブが画像処理装置104に対して送信される。画像処理装置104は当該スキャンジョブに基づいてスキャンを実行し、生成した画像データをデータ処理装置101に送信する。データ処理装置101は送信された画像データを「アプリ401」フォルダに格納する。
【0029】
図6はアプリケーション401が生成、受信する画像データの保存先をアプリケーション401が利用できない場合に、ユーザーがスキャン指示を実行しようとした際の画面例を示す。
【0030】
OSのバージョンアップ等により、アプリケーション401において設定されていたデータの保存先フォルダが利用できない場合が有る。例えば、Android(登録商標)はバージョン10以降から、各アプリケーションはフォルダにアクセスする許可を得なければ、フォルダにアクセスできなくなる。つまりAndroidのバージョン9以前の状態でアプリ401をインストールし、データの保存先として「アプリ401」フォルダを利用していたユーザーがOSをアップデートすることでAndroidのバージョンを10に更新すると、今まで利用していた「アプリ401」フォルダを利用できなくなる。アプリケーション401が再び「アプリ401」フォルダを利用できるようにするためには、ユーザーはOSのフレームワークであるSAF(Storage Access Framework)を介してフォルダにアクセスする許可を得なければならない。
【0031】
OS410は、アプリケーションに提供するフレームワークとして、SAFを提供する。SAFは、OS410上で動作する各種アプリケーションに対して、データ処理装置101内外の様々なファイルにアクセスする機能やアクセスを許可する機能を提供する。具体的には、アプリケーションがインテントを使用して、SAFが提供するファイル選択機能を呼び出す。インテントにより呼び出しを受け付けたOS410は、OS410が提供するファイルブラウズ機能によりフォルダを選択するためのUIを表示する。ここで選択可能なフォルダは、OS410のストレージに含まれるフォルダ(例えば「アプリ401」フォルダ)や、データ処理装置101と通信可能なクラウドのストレージに含まれるフォルダ等である。SAFを利用して表示されたUI上でアプリケーションがフォルダにアクセスする許可を取得すると、アプリケーションは以降、当該フォルダを使用することが可能となる。
【0032】
図6を用いてアプリケーションがSAFを介して「アプリ401」フォルダのアクセス許可を取得する例を示す。
【0033】
メニュー画面601はメニュー画面501と同一であるが、OSのバージョンアップ等により、アプリケ―ション401が「アプリ401」フォルダにアクセスできない状態となっている。この状態でスキャンボタン503が押下されると、警告画面610が表示される。警告画面610には、スキャンした画像データを格納するフォルダが不正である旨の警告文611が表示される。OKボタン612が押下されると、SAFを利用したフォルダ選択画面620がOS410によって表示される。フォルダ選択画面620はOS410のストレージに含まれるフォルダなど、OS410が提供するファイルブラウズ機能によりアクセス可能なフォルダ一覧が表示されている。アプリ401ボタン621が押下されると、アプリ401フォルダ画面630に遷移する。アプリ401フォルダ画面630にはアプリ401フォルダに含まれるファイル一覧(631~633)が表示されている。セレクトボタン634は、アプリケーション401が「アプリ401」フォルダにアクセスすることを許可するためのボタンである。セレクトボタン634が押下されると、アプリケーション401が「アプリ401」フォルダにアクセスすることが許可され、スキャン設定画面510に遷移する。ユーザーがスキャン設定画面510上でスキャン実行指示を行うと、スキャンデータはアクセスが許可されたフォルダ(ここでは「アプリ401」フォルダ)に格納される。そして次回以降、アプリケーション401がファイルを格納する際は、アクセスが許可された「アプリ401」フォルダにファイルが格納される。
【0034】
一方キャンセルボタン635が押下されると、ファイルの格納先を指定されなかった旨を示す警告画面640が表示され、メニュー画面601に戻る。
【0035】
図7のフローチャートを用いて
図6の画面遷移に関する処理について説明する。
図7の各ステップは、ROM203や記憶装置209に格納されたプログラムをCPU202が実行することによって実現される。
図7のフローチャートの処理は例えばスキャンボタン503が押下されることで開始する。
【0036】
S701において制御部404は、アプリケーション401においてデータの保存先が設定されているか否かを判断する。ここでデータの保存先とは画像処理装置から送信されるスキャンデータを格納するフォルダのことである。保存先が設定されている場合(ステップS701:Yes)、つまりアプリケーション401に保存先が紐付いている場合はステップS702に処理を進め、そうでない場合(ステップS701:No)、ステップS704に処理を進める。アプリケーション401に保存先が紐付いている場合とは、例えば過去にアプリケーション401においてデータの保存先が設定されている場合や、過去にSAFを利用したフォルダ選択画面620でフォルダにアクセスすることを許可されている場合などを指す。
【0037】
次に、S702において制御部404は、設定されている保存先が存在するか否かを判定する。保存先が存在する場合(ステップS702:Yes)、ステップS703に処理を進める。保存先が存在しない場合(ステップS702:No)、ステップS704に処理を進める。
【0038】
次に、ステップS703において制御部404は、アプリケーション401において設定された保存先にデータを書き込むことが可能であるか否か判定する。書き込み可能である場合(ステップS703:Yes)、ステップS708に処理を進める。書き込み可能でない場合(ステップS703:No)、ステップS704に処理を進める。OSの仕様変更等により、アプリケーション401がアクセスできるフォルダに制限がかかった場合なども、S703の判断により検知可能である。
【0039】
以上のS701~S703処理により、アプリケーション401に紐付くフォルダにアプリケーション401がデータを書き込むことが可能か否か判断することができる。例えばAndroidのバージョンを10にしたことで、アプリケーションがフォルダへアクセスできなくなった場合も、これらの判断処理により、アプリケーション401がフォルダを利用できないことを検知することができる。
【0040】
S704においてUI部402は、警告画面610を表示し、ユーザーに保存先の設定が必要である旨を通知する。次にS705でUI部402は警告画面610上でOKボタン612が押下されたか否か判断する。OKボタン612が押下されたと判断されるとS706に進み、そうでない場合はS705の処理を繰り返す。
【0041】
S706で制御部404がOS410に指示を出すことで、OS410がSAFを利用したフォルダ選択画面620を表示する。この時、制御部404はOS410に対してアプリケーション401がフォルダにアクセスする許可を行うための画面表示を指示する。ユーザーがデータの保存先フォルダを選択し、セレクトボタン634を押下すると、選択されたフォルダにアプリケーション401がアクセスすることが許可される。
【0042】
S707で制御部404はアプリケーション401がフォルダへのアクセスを許可されたか否かを判断する。許可がなされたと判断されるとS708に進む。そうでない場合(例えばキャンセルボタン635が押下された場合)、S709に進み、UI部402が警告画面641を表示して処理を終了する。
【0043】
S708でUI部402はスキャン設定画面510を表示する。スキャン開始ボタン511が押下されると、スキャンジョブが画像処理装置104に送信される。画像処理装置104はスキャン設定画面上で行われた設定に従ってスキャン処理を行い、スキャン画像をデータ処理装置101に送信する。送信されたスキャン画像はアプリケーション401がアクセスすることが許可されているフォルダに格納される。
【0044】
以上のフローチャートはスキャンボタン503が押下された時にデータを格納するフォルダが有効であるか判断する例を示したが、これに限らず、キャプチャボタン506が押下された時に同様の判断処理が行われるようにしても良い。またスキャンボタン503が押下された時ではなくアプリケーション401を起動したタイミングで上述した判断処理を行い、フォルダが有効でなければ警告画面を出すようにしても良い。さらには、スキャン開始ボタン511が押下された時に判断処理を開始し警告画面を表示するようにしても良いし、スキャン開始ボタン511が押下された後、スキャンデータを受信する際に判断処理を開始し警告画面を表示するようにしても良い。
【0045】
以上のフローチャートにより、OSのバージョンアップ等により、アプリケーションがデータを格納するフォルダの使用が無効となっている場合でも、ユーザーにその旨を通知することができる。さらにフォルダの使用が無効となっている場合は、フォルダのアクセス許可を取得することをユーザーに促すことができる。またアプリケーションがデータを保存するような処理(本実施例ではスキャン、キャプチャ処理)の実行をユーザーが意図したタイミング(例えばスキャンボタン503が押下されたタイミング)でのみ警告画面を表示するため、不必要に警告画面が表示されユーザビリティが低下するのを防ぐことができる。
【0046】
(実施例2)
実施例1では、アプリケーションが画像データを保存するフォルダを使用できない場合に、警告画面を表示する例を示した。本実施例では、画像データを受信した際に画像データを保存するフォルダが使用できない場合、アプリケーションが有するファイル一時保存領域に画像データを一時的に保存する例を示す。一時保存しておいた画像データは後からユーザーが所望のフォルダに移動させることができる。本実施例の基本構成は実施例1と同じであるため差分のみ示す。
【0047】
図8は本実施例におけるデータ処理装置101のソフトウェア構成図である。
図4との差分はアプリケーション401にファイル一時保存部801が含まれる点である。ファイル一時保存部801はファイル保存部405と異なり、アプリケーション401に固有のファイル保存領域であり、他のアプリケーションから参照、使用することはできない。つまりファイル一時保存部801に保存された画像データはアプリケーション401しか使用できない。ファイル一時保存部801は例えばSandbox等が該当する。
【0048】
図9は本実施例におけるアプリケーション401が画像を保存する際の処理を示すフローチャートである。
図9の各ステップは、ROM203や記憶装置209に格納されたプログラムをCPU202が実行することによって実現される。
図9のフローチャートの処理は例えばスキャン開始ボタン511が押下されることで開始する。つまりアプリケーション401がスキャンデータを受信する際の処理を示す。
【0049】
S701~S703の処理は
図7の処理と同じであるため説明を省略する。S901において制御部404は、アプリケーション401において設定された保存先に受信したスキャンデータを保存する。つまり設定された保存先が使用できる場合は、当該保存先にデータを保存する。
【0050】
S902において制御部404は受信したスキャンデータをファイル一時保存部801に保存する。つまり設定された保存先が使用できない場合は、ファイル一時保存部801にデータを保存する。S902の処理は、OSのアップデート等によりアプリケーション401が使用していた保存先フォルダが使用できなくなった場合に実行される。さらに
図7のS707でフォルダへのアクセスが許可されなかった場合に、ユーザーがスキャン処理指示を行うことでもS902の処理が実行される。
【0051】
以上のフローチャートの処理により、OSの仕様等によりアプリケーションが画像データを保存するフォルダが使用できなくなった場合でも、画像データを一時的に保存しておくことができる。
【0052】
図10、11を用いて、ファイル一時保存部801に保存された画像データをユーザーが所望するフォルダに移動する例を説明する。
【0053】
図11は、本実施例におけるアプリケーション401のトップメニュー画面を表示する際のフローチャートである。
図11の各ステップは、ROM203や記憶装置209に格納されたプログラムをCPU202が実行することによって実現される。
【0054】
S1101で制御部404はファイル一時保存部801に保存された画像データが有るか否か判断する。画像データが有ると判断されるとS1102に進む。そうでない場合S1103に進み、UI部402は通常のトップメニュー画面(例えばメニュー画面501)を表示する。
【0055】
S1102でUI部402は、一時保存部801に保存された画像データを移動するためのボタンを含むトップメニュー画面1001を表示する。メニュー画面1001は、メニュー画面501と異なり一時保存ファイルボタン1002が表示されている。一時保存ファイルボタン1002が押下されると画面620に示すようなSAFを利用したフォルダ選択画面が表示される。ユーザーはフォルダ選択画面で所望のフォルダを選択し決定操作を行なうと、画面1010に示す画面が表示され、一時保存部801に保存された画像データが選択されたフォルダに移動する。
【0056】
以上の処理により、データの保存先が使用できないために一時保存領域に保存されていた画像データをユーザー所望のフォルダに移動させることができる。
【0057】
(その他の実施例)
なお、上記の実施例では、SAFを利用したフォルダ選択画面を介してアクセス許可されたフォルダに画像データを保存する例を示した。しかし画像データを保存するフォルダは適宜ユーザーが変更できるようにしてもよい。
図10のボタン1003のように画像データの保存先を変更するボタンをトップメニュー画面等に表示し、当該ボタンが押下されると画面620に示すようなSAFを利用したフォルダ選択画面が表示され、所望の保存先フォルダを適宜設定できるようにしても良い。
【0058】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。この場合、そのコンピュータプログラム、及び該コンピュータプログラムを記憶した記憶媒体は本発明を構成することになる。