JP6800620B2 - 情報処理装置、制御方法、及びプログラム - Google Patents

情報処理装置、制御方法、及びプログラム Download PDF

Info

Publication number
JP6800620B2
JP6800620B2 JP2016112728A JP2016112728A JP6800620B2 JP 6800620 B2 JP6800620 B2 JP 6800620B2 JP 2016112728 A JP2016112728 A JP 2016112728A JP 2016112728 A JP2016112728 A JP 2016112728A JP 6800620 B2 JP6800620 B2 JP 6800620B2
Authority
JP
Japan
Prior art keywords
application program
application
executed
predetermined information
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016112728A
Other languages
English (en)
Other versions
JP2017219961A5 (ja
JP2017219961A (ja
Inventor
悠機 若林
悠機 若林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2016112728A priority Critical patent/JP6800620B2/ja
Priority to CN201710397585.9A priority patent/CN107463345B/zh
Priority to EP17174343.8A priority patent/EP3255545A1/en
Priority to US15/612,792 priority patent/US10437531B2/en
Priority to KR1020170069436A priority patent/KR102202187B1/ko
Publication of JP2017219961A publication Critical patent/JP2017219961A/ja
Publication of JP2017219961A5 publication Critical patent/JP2017219961A5/ja
Application granted granted Critical
Publication of JP6800620B2 publication Critical patent/JP6800620B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1224Client or server resources management
    • G06F3/1226Discovery of devices having required properties
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1204Improving or facilitating administration, e.g. print management resulting in reduced user or operator actions, e.g. presetting, automatic actions, using hardware token storing data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1205Improving or facilitating administration, e.g. print management resulting in increased flexibility in print job configuration, e.g. job settings, print requirements, job tickets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1224Client or server resources management
    • G06F3/1225Software update, e.g. print driver, modules, plug-ins, fonts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1236Connection management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1238Secure printing, e.g. user identification, user rights for device usage, unallowed content, blanking portions or fields of a page, releasing held jobs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1268Job submission, e.g. submitting print job order or request not the print data itself
    • G06F3/127Job submission, e.g. submitting print job order or request not the print data itself by using hot folders, e.g. folder for which print settings or print data management rules are set in advance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1292Mobile client, e.g. wireless printing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/543User-generated data transfer, e.g. clipboards, dynamic data exchange [DDE], object linking and embedding [OLE]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Stored Programmes (AREA)
  • Facsimiles In General (AREA)
  • User Interface Of Digital Computer (AREA)

Description

本発明は、情報処理装置、制御方法、及びプログラムに関する。
携帯端末やスマートフォン等の情報処理装置が知られている。上記のような情報処理装置では、情報処理装置にインストールされているアプリケーション等のプログラムが、各プログラム間で連携して動作するプログラム連携という技術が一般に使用されている。具体的には、プログラム連携は、例えば、所定のプログラムにおいてハンドリングされる情報に基づく処理を、当該所定のプログラムとは異なるプログラムにおいて実行可能とする技術である。
特許文献1には、第1のアプリケーション(以下、アプリという。)から、URLスキームを用いて第2のアプリを起動する際に、URLスキームに印刷設定などのパラメータを付加することで、第1のアプリと第2のアプリで情報を共有する技術が記載されている。
特開2016−18285号公報
アプリBは、例えば、所定のプログラム(アプリA)が表示する画面に対して、アプリAとは異なるプログラム(アプリB)を起動するための操作が行われたことに応じて起動する(連携起動する)。また、アプリBは、例えば、ストアアプリが表示する画面に対する操作や、ホーム画面におけるアプリアイコンに対する操作に応じて起動する(単独起動する)こともできる。
情報処理装置は、アプリAによりハンドリングする情報に基づく処理を、アプリBにおいて実行する(プログラム連携する)ことにより、アプリBの利便性を高めることができる場合には、プログラム連携を、単独起動された場合にも実行することが好ましい。
しかし特許文献1のような、アプリAによりハンドリングされる情報をURLスキームに付加する方法では、情報処理装置は、アプリBが単独起動した場合には、プログラム連携を実行することができないという課題がある。
本発明は、上述の課題を鑑みてなされたものであり、プログラムが単独起動した場合に、当該プログラムにおいて、当該プログラム以外のプログラムによりハンドリングされる情報に基づく処理を実行可能とすることを目的とする。
上述の課題を解決するために、本発明の制御方法は、
情報処理装置の制御方法であって、
第1のアプリケーションプログラムが表示する画面に対する、前記第1のアプリケーションプログラムと異なる第2のアプリケーションプログラムを起動するための第1の操作を受け付ける受け付けステップと
前記第1のアプリケーションプログラムによって、所定の情報を記憶領域に保存する保存ステップと、
前記情報処理装置に前記第2のアプリケーションプログラムが既にインストールされている状態で前記第1の操作が受け付けられたことに応じて、前記第2のアプリケーションプログラムを起動するための処理を実行し、前記情報処理装置に前記第2のアプリケーションプログラムが未だインストールされていない状態で前記第1の操作が受け付けられたことに応じて、前記第2のアプリケーションプログラムを前記情報処理装置にインストールするための第3のアプリケーションプログラムを起動するための処理を実行する実行ステップと、
前記第1のアプリケーションプログラムによって前記記憶領域に保存された前記所定の情報を、前記第3のアプリケーションプログラムが表示する画面に対する第2の操作が受け付けられたことに応じて起動される前記第2のアプリケーションプログラムによって取得する取得ステップと、
前記所定の情報が取得された場合、前記所定の情報に基づく処理を、前記第2のアプリケーションプログラムによって実行する処理ステップと、
を有することを特徴とする。
本発明によれば、プログラムが単独起動した場合に、当該プログラム以外のプログラムにより用いられる情報に基づく処理を実行することができる。
本実施形態の情報処理装置の構成を示す図である。 本実施形態における、アプリ連携のバリエーションを示す図である。 本実施形態の情報処理装置が、アプリAの動作時にアプリBの連携起動操作を受け付けた場合に実行する処理を示すフローチャートである。 本実施形態の情報処理装置が、アプリBを起動した場合に実行する処理の流れを示すフローチャートである。 本実施形態の情報処理装置が、ストアアプリによって表示する画面である。 本実施形態の情報処理装置が、アプリAによって表示する画面である。
以下、本発明に係る情報処理装置について図面を参照して詳細に説明する。尚、以下の実施の形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施の形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
(第1実施形態)
本発明を適用する情報処理装置について説明する。本実施形態では、情報処理装置として携帯端末を例示しているが、これに限定されない。例えば、ノートPC、タブレット端末、PDA(Personal Digital Assistant)、デジタルカメラ、音楽再生デバイス、テレビ等、プログラムをインストール可能な種々の装置を情報処理装置として適用可能である。また、本実施形態では、携帯端末の一例としてスマートフォンを例示している。スマートフォンとは、携帯電話機能のほかにカメラ機能やインターネットブラウザ機能、メール機能などを搭載した多機能型の携帯電話のことである。
図1は、本実施形態の情報処理装置である携帯端末100の構成を示す図である。図1(a)は、携帯端末100のハードウェア構成を示し、図1(b)は、携帯端末100のソフトウェア構成を示す。
携帯端末100は、CPU101、操作部102、ネットワークインターフェイス103、メモリ104、表示部105、記憶装置106を備え、それぞれがシステムバスを介して接続されている。
CPU101は、携帯端末100の全体制御を行う。操作部102は、携帯端末100にユーザが指示を与えるための操作部であり、例えば、ボタンやタッチパネル等を有する。
メモリ104は、CPU101の作業領域としてのランダムアクセスメモリ(RAM)であり、種々の受信データの一時格納領域として用いられたり、各種設定データを記憶したりする。
記憶装置106は、例えば、フラッシュメモリ等であり、アプリケーション、オペレーティングシステム(以下、OSという。)等の各種制御プログラムを格納する。
ネットワークインターフェイス103は、ネットワークと接続するためのインターフェイスである。携帯端末100は、ネットワークインターフェイス103を介してネットワークに接続可能であり、ネットワークを介してプリンタなどの外部機器やインターネットと接続可能に構成されている。
表示部105は、各種情報を表示するユニットであり、液晶パネル等からなる。操作部102は、ユーザから操作を受け付けるためのユニットである。なお、本実施形態では、操作部102と表示部105は同一の構成であり、1つの構成で、ユーザによる操作の受け付け及び各種情報の表示どちらも行うことができるような形態であるものとする。すなわち、操作部102と表示部105はタッチディスプレイで構成されるものとする。ユーザは、タッチディスプレイを指等でなぞる、タップする等することで、携帯端末100に各種指示を行い、携帯端末100を操作することができる。なお、ユーザは、指以外の操作子、例えば、スタイラスペンなどの静電式タッチパネル用ペンでタッチディスプレイを操作することによっても、携帯端末100に対して各種指示を与えることができる。なお、操作部102と表示部105は同一の構成でなくとも良く、例えば、操作部102は、物理キーを備える物理キーボード等であっても良い。
図1(b)に示すように、本実施形態において携帯端末100は、OS107、ストアアプリケーション108と、2つ以上のアプリ(アプリケーションA109、アプリケーションB110)を備える。以下、アプリケーションを、アプリという。
ストアアプリ108は、アプリを携帯端末100にダウンロードするためのアプリである。ユーザは、ストアアプリ108で所望のアプリを選択し、ダウンロードのための所定の操作(ダウンロードボタンのタップ、パスワード認証等)を行うことで、携帯端末100に、選択したアプリのダウンロード及びインストールをすることができる。また、ユーザは、ストアアプリ108によって表示される画面に所定の操作(「開く」ボタンのタップ等)を行うことで、携帯端末100にインストール済みのアプリを、ストアアプリ108を介して起動することもできる。図5は、ストアアプリ108によって表示される画面の一例を示す図である。図5は、アプリBが携帯端末100に既にインストールされている状態における、アプリBを起動するための画面である。上述したように、「開く」ボタンがタップされることで、アプリBが起動される。
アプリA109、アプリB110は、ストアアプリ108によって、ネットワーク等を介して携帯端末100にインストールされるアプリである。なお、アプリA109、アプリB110は、ストアアプリ108を介してインストールされるのではなく、例えば、各アプリが格納された記憶媒体等からインストールされても良い。また、アプリA109は、着荷時に携帯端末100に予め保持されていても良い。なお、本実施形態においては、アプリA109、アプリB110は、印刷機能を有するプリンタに印刷ジョブを送信し、送信した印刷ジョブに基づいた印刷を実行させるためのアプリであるものとする。なお、アプリA109、アプリB110は、プリンタに印刷を実行させる機能だけでなく、他の機能を備えていても良い。例えば、プリンタにスキャンジョブを送信し、送信したスキャンジョブに基づいたスキャンを実行させる機能を有していても良い。
ストアアプリ108、アプリA109、アプリB110は、OS107を介して動作する。これらのソフトウェアは、記憶装置106に格納されており、メモリ104に展開されてCPU101によって実行される。
本実施形態では、アプリA109とアプリB110は、連携して動作する。具体的には、アプリA109によって用いられる情報を利用してアプリB110が動作する。以下、各プログラムが連携して動作することをプログラム連携といい、特に、各アプリケーションプログラムが連携して動作することをアプリ連携という。なお、具体的には、アプリ連携は、例えば、アプリA109においてハンドリングされる情報(後述の共有情報)に基づく処理を、アプリA109とは異なるプログラム(アプリB110)において実行可能とする技術である。以下、各ユースケースにおけるアプリ連携の例を説明する。図2(a)は、アプリA109とアプリB110が既に携帯端末100にインストールされている状態で、アプリB110が連携起動した時のアプリ連携を示す図である。また、図2(b)は、アプリA109とアプリB110が既に携帯端末100にインストールされている状態で、アプリB110が単独起動した時のアプリ連携を示す図である。また、図2(c)は、アプリB110が携帯端末100にインストールされていない状態で、アプリB110が連携起動した時のアプリ連携を示す図である。なお、単独起動とは、アプリB110が、例えばOSが表示するホーム画面におけるアプリアイコンがタップされたことによって起動されたり、ストアアプリ108が表示する画面に対する操作によって起動されたりすることをいう。連携起動とは、アプリB110がストアアプリ108以外のアプリが表示する画面に対する操作から起動されることをいう。本実施形態では、アプリB110は、アプリA109が表示する画面に対する操作から連携起動される。連携起動された場合、連携起動の元となったアプリ(アプリA109)の情報が通知されるため、CPU101は、アプリB110が連携起動したか否かを把握することができる。なお、連携起動は、例えば、アプリA109では実行することのできない機能を他のアプリに実行させたり、アプリA109で実行した処理を他のアプリに引き継ぐ場合等に、他のアプリの利用を促すために行われる。
図6は、アプリA109が表示する画面の一例である。アイコン601は、アプリA109に登録されているプリンタを示す。プリンタの登録については後述する。アイコン602、アイコン603は、アプリA109に登録されているプリンタに印刷ジョブを送信し、携帯端末100が保存している写真や文書を印刷させるためのボタンである。アイコン604は、アプリA109に登録されているプリンタにスキャンジョブを送信し、スキャンを実行させるためのボタンである。アイコン605は、外部サーバに格納されている画像データをプリンタに印刷させるクラウド印刷機能を実行するためのボタンである。アイコン606は、アプリA109に登録されているプリンタにコピージョブを送信し、原稿のコピーを作成させるためのボタンである。アイコン607は、プリンタに印刷ジョブを送信し、ディスクメディアに対する印刷を実行させるためのボタンである。例えば、ディスクメディアに対する印刷を実行させるためには、アプリA109でない他のアプリ(ディスクメディア印刷用アプリ)が必要な場合がある。このような場合は、CPU101は、ディスクメディア印刷用アプリが携帯端末100にインストールされている状態で、アイコン607に対する操作を受け付けた場合、ディスクメディア印刷用アプリを連携起動する。アイコン608は、アプリA109の操作方法等を示すWebページを立ち上げるためのボタンである。アイコン609は、アプリB110を連携起動するためのボタンである。CPU101は、アプリB110が携帯端末100にインストールされている状態で、アイコン609に対する操作を受け付けた場合、アプリB110を連携起動する。なお、例えば、CPU101は、アプリB110に対応していないプリンタがアプリA109に登録されている場合は、アイコン609をグレーアウトさせたり、非表示にさせる等して、アイコン609に対する操作を受け付ないようにしても良い。
図2(a)を用いて、アプリA109及びアプリB110が既に携帯端末100にインストールされている状態でアプリA109を介してアプリB110を連携起動するユースケースについて説明する。まず、CPU101は、例えば、アイコン609に対する操作の受け付け等により、アプリB110を連携起動することを特定すると、情報共有領域201に共有情報202を保存する。共有情報202は、アプリA109の動作とアプリB110の動作どちらにおいてもCPU101が利用可能な情報である。また、情報共有領域201は、共有情報202が格納される記憶領域である。情報共有領域201は、例えばアプリA109の動作時とアプリB110の動作時どちらにおいてもアクセス可能な共通フォルダであってもよいし、OSが管理しているクリップボードやペーストボードのようなものでもよい。また、共通フォルダとは、例えば記憶装置106等、携帯端末100内のメモリに含まれる領域であってもよいし、SDカードやHDDのような外部記憶媒体に含まれる領域であってもよいし、ネットワークサーバー上の領域であってもよい。アプリA109の動作とアプリB110の動作どちらにおいても利用可能な情報を格納できるような形態であれば、その形態には制限はない。なお、共有情報202が情報共有領域201から削除されるタイミングは、例えば、共有情報202が利用されたタイミングであっても良いし、連携起動したアプリB110の起動が終了したタイミングであっても良い。
そして、CPU101は、アプリB110を連携起動すると、アプリB110によって、情報共有領域201を参照して共有情報202を取得し、共有情報202に基づく処理を実行する。
上述したように本実施形態では、アプリA109とアプリB110は、携帯端末100が通信可能なプリンタに画像を印刷させる印刷機能を有する。アプリA109とアプリB110は、携帯端末100の周囲のプリンタを検索し、検索した装置のうち、印刷を実行させる装置を登録することで、印刷機能を実行できる。なお、アプリに対して画像形成装置を登録する処理とは、言いかえれば、当該アプリによって通信する装置を設定する処理(設定処理)である。この形態では、例えば、アプリA109において登録されたプリンタに関する情報(以後、登録情報という。)を、共有情報202として適用可能である。登録情報とは、具体的には、例えば、MACアドレスやBonjour名、IPアドレス等である。そして、CPU101は、アプリB110の連携起動時における共有情報202に基づく処理として、アプリA109において登録されたプリンタをアプリB110に登録する処理をアプリB110によって実行する。このような形態とすることで、CPU101は、例えば、プリンタを検索する処理をアプリB110によって実行することなく、アプリB110にプリンタを登録することができる。なお、情報共有領域201に、プリンタを登録するために必要な情報の全てが収まらない場合は、プリンタを登録するために必要な情報のうち少なくとも1部が共有情報202として適用しても良い。このような形態でも、例えば、プリンタを検索する処理にかかる時間を抑制する等の効果を奏することができる。
次に、図2(b)を用いて、アプリA109及びアプリB110が既に携帯端末100にインストールされている状態でアプリA109を介さずアプリB110を単独起動する場合の、CPU101の挙動を説明する。
図2(a)と同様に、CPU101は、例えば、アイコン609に対する操作の受け付け等により、アプリB110を連携起動することを特定すると、情報共有領域201に共有情報202を保存する。そして、本実施形態では、CPU101は、アプリB110が単独起動された場合にも、情報共有領域201を参照する。そして、共有情報202が情報共有領域201に保存されている場合は、共有情報202を取得し、共有情報202に基づく処理を実行する。
このように、本実施形態では、CPU101は、アプリB110が単独起動されたか連携起動されたかに係わらず、アプリB110の起動時に情報共有領域201を参照する。このような形態とすることで、アプリB110が単独起動された場合にも、連携起動された場合にも、アプリA109とのアプリ連携を実行できる。
次に図2(c)を用いて、アプリB110が携帯端末100にインストールされていない状態で、アプリA109が表示する画面に対してアプリB110を連携起動するための操作が行われた場合の、CPU101の挙動を説明する。
アプリA109が表示する画面に対してアプリB110を連携起動するための操作が行われても、アプリB110が携帯端末100にインストールされていない場合、CPU101は、当然、アプリB110を起動することができない。また、アプリB110を携帯端末100にインストールするためには、一般にストアアプリ108を用いる必要がある。そのため、CPU101は、アプリB110が携帯端末100にインストールされていない状態で、アプリA109が表示する画面に対してアプリB110を連携起動するための操作が行われた場合は、以下の処理を実行する。
まず、CPU101は、ストアアプリ108を起動する前に、アプリA109によって、共有情報202を情報共有領域201に格納する。次に、CPU101は、ストアアプリ108を起動する。なお、CPU101は、ダウンロード対象のアプリ(以下、対象アプリ)を特定可能な情報(以下、アプリ特定情報203)を用いてストアアプリ108を起動することで、対象アプリをダウンロードするための画面を、表示部105に表示することができる。そこで、このときCPU101は、対象アプリをアプリB110としたアプリ特定情報203を用いて、ストアアプリ108を起動する。これにより、アプリB110をダウンロードするための画面が表示部105に表示されるため、CPU101は、ユーザからの操作を受け付けて、アプリB110をダウンロードする。なお、このとき、CPU101は、ユーザからの操作を受け付けることなく、自動でアプリB110をダウンロードしても良い。その後、CPU101は、ホーム画面におけるアプリB110に対応するアプリアイコンに対する操作や、ストアアプリ108が表示する画面に対する操作(図5の開くボタンへの操作)を受け付ける。そして、CPU101は、それらの操作に応じてアプリB110を起動し、図2(b)に示した処理と同様の処理を実行する。すなわち、CPU101は、アプリB110が単独起動した場合の処理を実行する。
このようにCPU101は、アプリB110が携帯端末100にインストールされていない状態で、アプリA109が表示する画面に対してアプリB110を連携起動するための操作が行われた場合、ストアアプリ108によりアプリB110をダウンロードする。なお、アプリB110を連携起動する意図がユーザにある場合は、CPU101は、共有情報202を使用して、アプリA109とアプリB110を連携させることが好ましい。本実施形態では、図2(b)に示したように、単独起動時にも情報共有領域201を参照するため、アプリB110の連携起動操作があったにも関わらずアプリB110が単独起動した場合にも、アプリA109とアプリB110を連携させることができる。
なお、上述では、アプリB110が連携起動した場合にも単独起動した場合にも必ず情報共有領域201を参照する例を示したが、この形態に限定されない。例えば、本実施形態では、アプリA109及びアプリB110は、それぞれ別々にプリンタを登録することも可能である。そのためユーザは、あえてアプリA109及びアプリB110においてそれぞれ別のプリンタを登録している場合がある。このような場合にアプリA109とアプリB110を連携させ、アプリA109に登録されているプリンタをアプリB110に登録すると、アプリB110にユーザが意図しないプリンタが上書きで登録されてしまうおそれがある。
そのため、CPU101は、アプリB110を起動した場合には、アプリB110にプリンタが登録されているか否かを判定し、判定結果に応じて、アプリA109とのアプリ連携を実行するか否かを制御しても良い。具体的には例えば、アプリB110でプリンタが登録済みでない場合、CPU101は、共有情報202を利用すると判定し、アプリA109に登録されているプリンタをアプリB110に登録する。これは、アプリB110にプリンタが登録済みでなければ、アプリB110に登録されているプリンタが、ユーザが意図しないプリンタに変更されてしまう課題が生じないためである。一方、アプリB110でプリンタが登録済みである場合、CPU101は、共有情報202を利用しないと判定し、アプリA109に登録されているプリンタをアプリB110に登録する処理を実行しない。すなわち、アプリB110に登録済みのプリンタを変更しない。これは、アプリB110に登録されているプリンタが、ユーザが意図しないプリンタに変更されてしまう課題が生じる可能性があるためである。また、特に、アプリB110が単独起動されており、且つアプリB110にプリンタが登録されているケースは、アプリB110の連携起動操作があったにも関わらずアプリB110が単独起動したケースでない可能性が高いためである。すなわち、アプリA109とアプリB110を連携させたいというユーザの意図がない可能性が高いためである。
これにより、ユーザが意図しないにも係わらず、アプリB110に登録されているプリンタが変更されてしまうことを抑制できる。
なお、この形態に限定されず、例えば、アプリB110でプリンタが登録済みである場合には、共有情報202を利用して、アプリB110に登録されているプリンタを一時的に上書きしても良い。この場合、CPU101は、まず、既にアプリB110に登録されているプリンタの情報を、携帯端末100が備えるメモリに保存する。その後、CPU101は、登録済みのプリンタの情報を上書きし、アプリA109に登録されているプリンタをアプリB110に登録する。そして、登録したプリンタに対してジョブを送信し終わった場合や、アプリB110の起動が一旦終了され、その後再度アプリB110が起動された場合等に、上書きされる前に登録されていたプリンタをアプリB110に登録しなおす。
特に、アプリB110が連携起動されている場合は、アプリA109とアプリB110を連携させたいというユーザの意図がある可能性が高い。そのため、このような処理を実行することにより、アプリB110に登録されているプリンタの情報を完全に上書きすることなく、アプリ連携を実行することができる。
図3は、携帯端末100が、アプリA109の動作時にアプリB110の連携起動操作を受け付けた場合に実行する処理を示すフローチャートである。なお、本フローチャートが示す処理は、例えば、CPU101が、記憶装置106等に格納されたアプリA109に対応するプログラムをメモリ104に読み出して実行することにより実現される。また、本フローチャートが示す処理は、アプリA109の機能を実行するための画面が、アプリA109によって表示部105に表示されている状態で開始されるものとする。
まず、S301では、CPU101は、アプリB110の連携起動操作を受け付ける。具体的には、例えば、アイコン609への操作を受け付ける。
S302では、CPU101は、共有情報202を、記憶装置106やメモリ104上の情報共有領域201に格納する。なお、ここでは、共有情報202は、アプリA109に登録されているプリンタを登録するための登録情報であるものとする。
S303では、CPU101は、アプリB110が携帯端末100にインストールされているか否かを判定する。アプリB110が携帯端末100にインストールされていると判定した場合、S304でCPU101は、アプリB110を起動する。その後、CPU101は、アプリB110によって後述する図4に示す処理を実行する。一方、アプリB110が携帯端末100にインストールされていないと判定した場合、S305でCPU101は、例えば、URLスキームを用いた公知の方法で、ストアアプリ108を起動する。この際、URLスキームにストアアプリ108がアプリB110を特定するためのアプリ特定情報203を付加して、ストアアプリ108を起動する。これにより、ストアアプリ108の起動とともに、アプリB110をダウンロードするための画面が表示される。この状態で、アプリB110をダウンロードするための操作をユーザから受け付けることで、CPU101は、アプリB110のダウンロード及びアプリB110の起動を実行することができる。その後、CPU101は、アプリB110によって後述する図4に示す処理を実行する。
図4は、携帯端末100が、アプリB110を起動した場合に実行する処理の流れを示すフローチャートである。なお、本フローチャートは、例えば、CPU101が、記憶装置106等に格納されたアプリB110に対応するプログラムをメモリ104に読み出して実行することにより実現される。
まず、S401では、CPU101は、アプリB110を起動する。なお、S401の処理は、例えば、アプリA109を介したアプリB110の連携起動操作の受け付けや、ストアアプリ108を介したアプリB110の起動指示の受け付け、ホーム画面を介したアプリB110の起動指示の受け付け等をトリガーに実行される。
S402では、CPU101は、携帯端末100において起動中のアプリB110が連携起動されたか否かを判定する。具体的には、CPU101は、アプリB110が、アプリA109が表示する画面に対する操作によって起動されたか否かを判定する。CPU101は、アプリB110が、アプリA109が表示する画面に対する操作によって起動されたと判定した場合、アプリB110が連携起動されたと判定し、S404へ進む。一方、アプリB110が、アプリA109が表示する画面に対する操作によって起動されていないと判定した場合、アプリB110が連携起動していない(単独起動した)と判定し、S403へ進む。
S403では、CPU101は、共有情報202を利用するか否かを判定する。具体的には、上述したように、CPU101は、アプリB110にプリンタが登録済みか否か(アプリB110によって通信する装置が設定されているか否か)を判定する。アプリB110にプリンタが登録済みでない場合、CPU101は、共有情報202を利用すると判定し、S404に進む。一方、アプリB110でプリンタが登録済みである場合、CPU101は、共有情報202を利用しないと判定し、アプリA109に登録されているプリンタをアプリB110に登録する処理を実行せずに処理を終了する。すなわち、アプリB110に登録済みのプリンタを変更しない。
S404では、CPU101は、共有情報202を一時的に利用するか否かを判定する。具体的には、CPU101は、S403と同様に、アプリB110にプリンタが登録済みか否かを判定する。アプリB110にプリンタが登録済みでない場合、CPU101は、共有情報202を利用すると判定し、S405に進む。一方、アプリB110でプリンタが登録済みである場合、CPU101は、共有情報202を一時的に利用すると判定し、S407に進む。
S405では、CPU101は、情報共有領域201に共有情報202が存在するか否かを判定する。CPU101は、情報共有領域201に共有情報202が存在する場合は、S406に進み、情報共有領域201から共有情報202を取得し、共有情報202に基づいて、アプリA109に登録されているプリンタをアプリB110に登録する。一方、CPU101は、情報共有領域201に共有情報202が存在しない場合は、アプリA109に登録されているプリンタをアプリB110に登録する処理を実行せずに処理を終了する。
S405の処理により、CPU101は、正確に共有情報202が情報共有領域201に保存されているかを確認することができる。なお、共有情報202が情報共有領域201に保存されていない状況とは、例えば、情報共有領域201が外部サーバ等であり、通信エラーや認証エラー等により、携帯端末100が当該外部サーバにアクセスできない状況である。
また、S405により、アプリB110が、図2(c)に示すユースケースにおいて単独起動したか、図2(b)に示すユースケースにおいて単独起動したかを判定することができる。すなわち、CPU101は、アプリB110に対する連携起動操作があったにも関わらず、アプリB110が単独起動したか否かを判定することができる。これは、図2(c)に示すユースケースの説明において述べたように、アプリB110に対する連携起動操作があった場合には、共有情報202が情報共有領域201に格納されるためである。これにより、アプリB110に対する連携起動操作があったにも関わらず、アプリB110が単独起動したか否かに応じて、アプリ共有を実行するか否かを切り替えることができる。
S407では、CPU101は、S405と同様にして、情報共有領域201に共有情報202が存在するか否かを判定する。CPU101は、情報共有領域201に共有情報202が存在する場合は、S408に進む。一方、CPU101は、情報共有領域201に共有情報202が存在しない場合は、アプリA109に登録されているプリンタをアプリB110に登録する処理を実行せずに処理を終了する。
S408では、情報共有領域201から共有情報202を取得し、共有情報202に基づいて、アプリA109に登録されているプリンタを一時的にアプリB110に登録する。具体的には、図2(c)において説明したように、CPU101は、まず、既にアプリB110に登録されているプリンタの情報を、携帯端末100が備えるメモリに保存する。その後、CPU101は、登録済みのプリンタの情報を上書きし、アプリA109に登録されているプリンタをアプリB110に登録する。そして、登録したプリンタに対してジョブを送信し終わった場合や、アプリB110の起動が一旦終了され、その後再度アプリB110が起動された場合等に、上書きされる前に登録されていたプリンタをアプリB110に登録しなおす。
以上のように本実施形態では、CPU101は、アプリB110がインストールされていない状態でアプリA109を介してアプリB110の連携起動操作を受けた場合、ストアアプリ108を介してアプリB110のダウンロード及び起動を実行する。このとき、ストアアプリ108からアプリB110が起動されているため、CPU101は、アプリB110の連携起動操作があったにも係わらず、アプリB110の起動は単独起動であるものと判定する。本実施形態では、CPU101は、単独起動時にも情報共有領域201を参照するため、アプリB110に対する連携起動操作があったにも関わらず、アプリB110が単独起動した場合にも、共有情報202を利用することができる。
また、アプリB110の連携起動操作を受け付けることなく、アプリB110が単独起動するケースがある。すなわち、ホーム画面におけるアプリアイコンに対する操作や、アプリA109から誘導されることなく起動したストアアプリ108が表示する画面に対する操作によって、アプリB110が起動するケースがある。このようなケースにおいては、例えば、ユーザは、アプリA109とアプリB110を連携させる意図がない場合がある。すなわち、例えば、ユーザは、アプリA109とアプリB110において、あえて、それぞれ別のプリンタを登録している場合がある。そこで、本実施形態では、アプリB110が単独起動した場合には、CPU101は、アプリB110にプリンタが登録されているか否かを判定し、判定結果に応じて、共有情報202を利用するか否かを切り替える。これにより、本実施形態では、アプリB110の連携起動操作を受け付けることなく、アプリB110が単独起動するケースにおいて、共有情報202を不用意に利用してしまい、ユーザを混乱させてしまうことを抑制できる。
(その他の実施形態)
上述した実施形態では、アプリB110のダウンロードをストアアプリ108によって実行する形態を説明したが、この形態に限定されない。例えば、CPU101は、Webページからアプリ110をダウンロードしても良い。この場合、上述の形態において、ストアアプリ108を起動する処理は、Webページを表示するためのプログラムを起動する処理となる。Webページを表示するためのプログラムを起動する際も、対象アプリに関する情報を用いることで、対象アプリをダウンロードするためのWebページを直接表示することができる。また、CPU101は、ストアアプリ108によってアプリ110のダウンロードを行った後、アプリ110のインストールはインストーラーによって行っても良い。また、CPU101は、アプリ110のダウンロードやインストールを、パーソナルコンピューターから実施しても構わない。
また、上述した実施形態では、CPU101は、アプリB110が単独起動した場合にも連携起動した場合にも、情報共有領域201を参照し、共有情報202を取得する形態を説明した。しかし、この形態に限定されず、例えば、アプリB110が連携起動した場合には、URLスキームに付加された情報を共有情報202として用いてアプリ連携しても良い。そのため、この場合、CPU101は、アプリB110に対する連携起動操作があった場合には、情報共有領域201への情報の格納及び、URLスキームへの情報の付加を行う。
また、上述した実施形態では、アプリA109とアプリB110として印刷アプリを例に挙げており、共有情報202として登録情報を例に挙げているが、この形態に限定されない。すなわち、アプリA109とアプリB110は、互いに情報を共有できるアプリであれば良く、その機能は限定されない。また、共有情報202の内容も限定されない。例えばアプリA109がカメラアプリであり、アプリB110がフォトアルバム作成アプリであっても良い。その場合、例えば、共有情報202は、フォトアルバムに配置可能な画像データ等であってもよい。また、その場合、アプリ連携における具体的な処理は、共有情報202(画像データ)をサムネイル化して表示する処理や、共有情報202を、アプリB110が参照可能な領域に格納する処理等となる。また、アプリA109やアプリB110に登録する装置も画像形成装置に限定されず、アプリA109やアプリB110によって通信する装置であれば良い。
また、上述した実施形態では、S408やS406の処理が実行されなかった場合は共有情報202を取得していないが、この形態に限定されない。例えば、アプリB110が起動された場合に、必ず共有情報202を取得する形態とし、S402〜S405、S407の各判定では、共有情報202に基づく処理を実行するか否かを制御する形態としても良い。
また、上述した実施形態では、アプリA109が表示する画面に対してアプリB110を連携起動するための操作が行われた場合に共有情報202を情報共有領域201に保存していたが、この形態に限定されない。例えば、共有情報202は、CPU101が共有情報202を受信したり生成したりしたタイミングで、情報共有領域201に保存されても良い。
上述した実施形態は、以下の処理を実行することによっても実現される。すなわち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(CPUやMPU等)がプログラムを読み出して実行する処理である。また、プログラムは、1つのコンピュータで実行させても、複数のコンピュータを連動させて実行させるようにしてもよい。また、上記した処理の全てをソフトウェアで実現する必要はなく、処理の一部または全部をASIC等のハードウェアで実現するようにしてもよい。また、CPUも1つのCPUで全ての処理を行うものに限らず、複数のCPUが適宜連携をしながら処理を行うものとしてもよい。
100 携帯端末
101 CPU
108 ストアアプリ
109 アプリA
110 アプリB
201 情報共有領域
202 共有情報

Claims (24)

  1. 情報処理装置の制御方法であって、
    第1のアプリケーションプログラムが表示する画面に対する、前記第1のアプリケーションプログラムと異なる第2のアプリケーションプログラムを起動するための第1の操作を受け付ける受け付けステップと
    前記第1のアプリケーションプログラムによって、所定の情報を記憶領域に保存する保存ステップと、
    前記情報処理装置に前記第2のアプリケーションプログラムが既にインストールされている状態で前記第1の操作が受け付けられたことに応じて、前記第2のアプリケーションプログラムを起動するための処理を実行し、前記情報処理装置に前記第2のアプリケーションプログラムが未だインストールされていない状態で前記第1の操作が受け付けられたことに応じて、前記第2のアプリケーションプログラムを前記情報処理装置にインストールするための第3のアプリケーションプログラムを起動するための処理を実行する実行ステップと、
    前記第1のアプリケーションプログラムによって前記記憶領域に保存された前記所定の情報を、前記第3のアプリケーションプログラムが表示する画面に対する第2の操作が受け付けられたことに応じて起動される前記第2のアプリケーションプログラムによって取得する取得ステップと、
    前記所定の情報が取得された場合、前記所定の情報に基づく処理を、前記第2のアプリケーションプログラムによって実行する処理ステップと、
    を有することを特徴とする制御方法。
  2. 前記第1のアプリケーションプログラムによって保存された前記所定の情報が、前記第1の操作が受け付けられたことに応じて起動される前記第2のアプリケーションプログラムによっても取得されることを特徴とする請求項1に記載の制御方法。
  3. 前記所定の情報は、前記第1の操作が受け付けられたことに応じて、前記第1のアプリケーションプログラムによって、前記記憶領域に保存されることを特徴とする請求項1又は2に記載の制御方法。
  4. 前記所定の情報は、前記第1のアプリケーションプログラムによって通信する装置として設定されている装置に関する情報であり、
    前記所定の情報に基づく処理は、前記所定の情報に基づく装置を、前記第2のアプリケーションプログラムによって通信する装置として設定する設定処理であることを特徴とする請求項1乃至3のいずれか1項に記載の制御方法。
  5. 前記第2のアプリケーションプログラムによって通信する装置がまだ設定されていない場合、前記設定処理が実行され、前記第2のアプリケーションプログラムによって通信する装置がすでに設定されている場合、前記設定処理が実行されないことを特徴とする請求項4に記載の制御方法。
  6. 前記第2のアプリケーションプログラムによって通信する装置がまだ設定されていない場合、前記設定処理が実行され、前記第2のアプリケーションプログラムによって通信する装置がすでに設定されている場合、前記所定の情報に基づく装置を、前記第2のアプリケーションプログラムによって通信する装置として、前記第1のアプリケーションプログラムによってジョブが送信されるまで、又は前記第1のアプリケーションプログラムの起動が終了するまで一時的に設定する処理が実行されることを特徴とする請求項4又は5に記載の制御方法。
  7. 前記第2のアプリケーションプログラムが、前記情報処理装置のオペレーティングシステムが表示するホーム画面におけるアプリアイコンがタップされたことによって起動される場合、前記所定の情報に基づく処理が実行されないことを特徴とする請求項1乃至6のいずれか1項に記載の制御方法。
  8. 前記第2のアプリケーションプログラムが起動されたが、前記記憶領域に前記所定の情報が保存されていない場合、前記所定の情報に基づく処理が実行されず、前記第2のアプリケーションプログラムが起動され、且つ前記記憶領域に前記所定の情報が保存されている場合、前記所定の情報に基づく処理が実行されることを特徴とする請求項1乃至7のいずれか1項に記載の制御方法。
  9. 前記第2のアプリケーションプログラムによって前記所定の情報が利用される場合、前記記憶領域から前記所定の情報が削除されることを特徴とする請求項1乃至8のいずれか1項に記載の制御方法。
  10. 前記第2のアプリケーションプログラムが起動されたが、前記所定の情報に基づく処理が既に実行されている場合、前記所定の情報に基づく処理が実行されず、前記第2のアプリケーションプログラムが起動され、且つ前記所定の情報に基づく処理がまだ実行されていない場合、前記所定の情報に基づく処理が実行されることを特徴とする請求項1乃至9のいずれか1項に記載の制御方法。
  11. 前記第1の操作が受け付けられた場合、 前記情報処理装置に前記第2のアプリケーションプログラムが既にインストールされているか否かを判定するための第1判定処理が実行され、
    前記情報処理装置に前記第2のアプリケーションプログラムが既にインストールされていると前記第1判定処理によって判定されたこと、及び前記第1の操作が受け付けられたことに応じて、前記第2のアプリケーションプログラムを起動するための処理が実行され、
    前記情報処理装置に前記第2のアプリケーションプログラムが未だインストールされていないと前記第1判定処理によって判定されたこと、及び前記第1の操作が受け付けられたことに応じて、前記第3のアプリケーションプログラムを起動するための処理が実行され、
    前記第2の操作が受け付けられたことに応じて前記第2のアプリケーションプログラムが起動された場合、前記所定の情報に基づく処理を実行するか否かを判定するための第2判定処理が実行され、
    前記所定の情報に基づく処理を実行すると判定されたことに応じて、前記所定の情報が実行され、
    前記第1判定処理を実行するプログラムと、前記第2判定処理を実行するプログラムは、それぞれ異なるタイミングでインストールされることを特徴とする請求項1乃至10のいずれか1項に記載の制御方法。
  12. 情報処理装置であって、
    第1のアプリケーションプログラムが表示する画面に対する、前記第1のアプリケーションプログラムと異なる第2のアプリケーションプログラムを起動するための第1の操作を受け付ける受け付け手段と、
    前記第1のアプリケーションプログラムによって、所定の情報を記憶領域に保存する保存手段と、
    前記情報処理装置に前記第2のアプリケーションプログラムが既にインストールされている状態で前記第1の操作が受け付けられたことに応じて、前記第2のアプリケーションプログラムを起動するための処理を実行し、前記情報処理装置に前記第2のアプリケーションプログラムが未だインストールされていない状態で前記第1の操作が受け付けられたことに応じて、前記第2のアプリケーションプログラムを前記情報処理装置にインストールするための第3のアプリケーションプログラムを起動するための処理を実行する実行手段と、
    前記第1のアプリケーションプログラムによって前記記憶領域に保存された前記所定の情報を、前記第3のアプリケーションプログラムが表示する画面に対する第2の操作が受け付けられたことに応じて起動される前記第2のアプリケーションプログラムによって取得する取得手段と、
    前記所定の情報が取得された場合、前記所定の情報に基づく処理を、前記第2のアプリケーションプログラムによって実行する処理手段と、
    を有することを特徴とする情報処理装置。
  13. 前記第1のアプリケーションプログラムによって保存された前記所定の情報が、前記第1の操作が受け付けられたことに応じて起動される前記第2のアプリケーションプログラムによっても取得されることを特徴とする請求項12に記載の情報処理装置。
  14. 前記所定の情報は、前記第1の操作が受け付けられたことに応じて、前記第1のアプリケーションプログラムによって、前記記憶領域に保存されることを特徴とする請求項12又は13に記載の情報処理装置。
  15. 前記所定の情報は、前記第1のアプリケーションプログラムによって通信する装置として設定されている装置に関する情報であり、
    前記所定の情報に基づく処理は、前記所定の情報に基づく装置を、前記第2のアプリケーションプログラムによって通信する装置として設定する設定処理であることを特徴とする請求項12乃至14のいずれか1項に記載の情報処理装置。
  16. 前記第2のアプリケーションプログラムによって通信する装置がまだ設定されていない場合、前記設定処理が実行され、前記第2のアプリケーションプログラムによって通信する装置がすでに設定されている場合、前記設定処理が実行されないことを特徴とする請求項15に記載の情報処理装置。
  17. 前記第2のアプリケーションプログラムによって通信する装置がまだ設定されていない場合、前記設定処理が実行され、前記第2のアプリケーションプログラムによって通信する装置がすでに設定されている場合、前記所定の情報に基づく装置を、前記第2のアプリケーションプログラムによって通信する装置として、前記第1のアプリケーションプログラムによってジョブが送信されるまで、又は前記第1のアプリケーションプログラムの起動が終了するまで一時的に設定する処理が実行されることを特徴とする請求項15又は16に記載の情報処理装置。
  18. 前記第2のアプリケーションプログラムが、前記情報処理装置のオペレーティングシステムが表示するホーム画面におけるアプリアイコンがタップされたことによって起動される場合、前記所定の情報に基づく処理が実行されないことを特徴とする請求項12乃至17のいずれか1項に記載の情報処理装置。
  19. 前記第2のアプリケーションプログラムが起動されたが、前記記憶領域に前記所定の情報が保存されていない場合、前記所定の情報に基づく処理が実行されず、前記第2のアプリケーションプログラムが起動され、且つ前記記憶領域に前記所定の情報が保存されている場合、前記所定の情報に基づく処理が実行されることを特徴とする請求項12乃至18のいずれか1項に記載の情報処理装置。
  20. 前記第2のアプリケーションプログラムによって前記所定の情報が利用される場合、前記記憶領域から前記所定の情報が削除されることを特徴とする請求項12乃至19のいずれか1項に記載の情報処理装置
  21. 前記第2のアプリケーションプログラムが起動されたが、前記所定の情報に基づく処理が既に実行されている場合、前記所定の情報に基づく処理が実行されず、前記第2のアプリケーションプログラムが起動され、且つ前記所定の情報に基づく処理がまだ実行されていない場合、前記所定の情報に基づく処理が実行されることを特徴とする請求項12乃至20のいずれか1項に記載の情報処理装置。
  22. 前記第1の操作が受け付けられた場合、 前記情報処理装置に前記第2のアプリケーションプログラムが既にインストールされているか否かを判定するための第1判定処理が実行され、
    前記情報処理装置に前記第2のアプリケーションプログラムが既にインストールされていると前記第1判定処理によって判定されたこと、及び前記第1の操作が受け付けられたことに応じて、前記第2のアプリケーションプログラムを起動するための処理が実行され、
    前記情報処理装置に前記第2のアプリケーションプログラムが未だインストールされていないと前記第1判定処理によって判定されたこと、及び前記第1の操作が受け付けられたことに応じて、前記第3のアプリケーションプログラムを起動するための処理が実行され、
    前記第2の操作が受け付けられたことに応じて前記第2のアプリケーションプログラムが起動された場合、前記所定の情報に基づく処理を実行するか否かを判定するための第2判定処理が実行され、
    前記所定の情報に基づく処理を実行すると判定されたことに応じて、前記所定の情報が実行され、
    前記第1判定処理を実行するプログラムと、前記第2判定処理を実行するプログラムは、それぞれ異なるタイミングでインストールされることを特徴とする請求項12乃至21のいずれか1項に記載の情報処理装置。
  23. 情報処理装置のコンピュータに、
    第1のアプリケーションプログラムが表示する画面に対する、前記第1のアプリケーションプログラムと異なる第2のアプリケーションプログラムを起動するための第1の操作を受け付ける受け付けステップと
    前記第1のアプリケーションプログラムによって、所定の情報を記憶領域に保存する保存ステップと、
    前記情報処理装置に前記第2のアプリケーションプログラムが既にインストールされている状態で前記第1の操作が受け付けられたことに応じて、前記第2のアプリケーションプログラムを起動するための処理を実行し、前記情報処理装置に前記第2のアプリケーションプログラムが未だインストールされていない状態で前記第1の操作が受け付けられたことに応じて、前記第2のアプリケーションプログラムを前記情報処理装置にインストールするための第3のアプリケーションプログラムを起動するための処理を実行する実行ステップと、
    前記第1のアプリケーションプログラムによって前記記憶領域に保存された前記所定の情報を、前記第3のアプリケーションプログラムが表示する画面に対する第2の操作が受け付けられたことに応じて起動される前記第2のアプリケーションプログラムによって取得する取得ステップと、
    前記所定の情報が取得された場合、前記所定の情報に基づく処理を、前記第2のアプリケーションプログラムによって実行する処理ステップと、
    を実行させることを特徴とするプログラム。
  24. 前記第1のアプリケーションプログラムと前記第2のアプリケーションプログラムを含むことを特徴とする請求項23に記載のプログラム。
JP2016112728A 2016-06-06 2016-06-06 情報処理装置、制御方法、及びプログラム Active JP6800620B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2016112728A JP6800620B2 (ja) 2016-06-06 2016-06-06 情報処理装置、制御方法、及びプログラム
CN201710397585.9A CN107463345B (zh) 2016-06-06 2017-05-31 控制方法和存储介质
EP17174343.8A EP3255545A1 (en) 2016-06-06 2017-06-02 Control method
US15/612,792 US10437531B2 (en) 2016-06-06 2017-06-02 Control method of information processing device controlling first application program, second application program, and third application program
KR1020170069436A KR102202187B1 (ko) 2016-06-06 2017-06-05 제어방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016112728A JP6800620B2 (ja) 2016-06-06 2016-06-06 情報処理装置、制御方法、及びプログラム

Publications (3)

Publication Number Publication Date
JP2017219961A JP2017219961A (ja) 2017-12-14
JP2017219961A5 JP2017219961A5 (ja) 2019-07-11
JP6800620B2 true JP6800620B2 (ja) 2020-12-16

Family

ID=59067486

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016112728A Active JP6800620B2 (ja) 2016-06-06 2016-06-06 情報処理装置、制御方法、及びプログラム

Country Status (5)

Country Link
US (1) US10437531B2 (ja)
EP (1) EP3255545A1 (ja)
JP (1) JP6800620B2 (ja)
KR (1) KR102202187B1 (ja)
CN (1) CN107463345B (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019117532A (ja) * 2017-12-27 2019-07-18 セイコーエプソン株式会社 プリンター用プログラム、端末、及び、端末の制御方法
JP2019117531A (ja) * 2017-12-27 2019-07-18 セイコーエプソン株式会社 プリンター用プログラム、端末、及び、端末の制御方法
JP7391525B2 (ja) * 2019-03-29 2023-12-05 キヤノン株式会社 アプリケーションプログラム、情報処理装置、情報処理方法、および情報処理システム
US11275631B1 (en) * 2019-09-30 2022-03-15 Amazon Technologies, Inc. Systems, methods, and apparatuses for using shared memory for data between processes
US11403154B1 (en) 2019-09-30 2022-08-02 Amazon Technologies, Inc. Systems, methods and apparatuses for running multiple machine learning models on an edge device
JP7455613B2 (ja) 2020-02-28 2024-03-26 キヤノン株式会社 情報処理装置、その制御方法、並びにプログラム
JP7490463B2 (ja) 2020-06-15 2024-05-27 キヤノン株式会社 情報処理装置、その制御方法、並びにプログラム
JP2022181000A (ja) * 2021-05-25 2022-12-07 キヤノン株式会社 ワークフロー制御システム、ワークフロー制御方法およびプログラム
JP2024077738A (ja) 2022-11-29 2024-06-10 キヤノン株式会社 情報処理装置、制御方法、及びプログラム

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3453659B2 (ja) 1992-10-02 2003-10-06 株式会社リコー 画像形成装置用制御装置
US7656546B2 (en) * 2002-04-23 2010-02-02 Hewlett-Packard Development Company, L.P. Notifying a computer user of printing with temporary printer properties
US7151611B2 (en) * 2002-07-15 2006-12-19 Hewlett-Packard Development Company, L.P. Method and system for reverting to default printer properties after a specified time interval
JP2004157676A (ja) * 2002-11-05 2004-06-03 Mitsubishi Electric Corp 業務統合装置
JP4458929B2 (ja) * 2003-07-16 2010-04-28 キヤノン株式会社 プログラム間通信装置、プログラム間通信方法、コンピュータ読み取り可能な記録媒体およびプログラム
JP4623461B2 (ja) * 2004-11-30 2011-02-02 キヤノンマーケティングジャパン株式会社 情報処理装置および印刷制御方法およびプリンタドライバプログラムおよび記録媒体
US20110173602A1 (en) * 2008-07-30 2011-07-14 Access Co., Ltd Execution environment software, client device, and server device
JP5704834B2 (ja) * 2010-05-17 2015-04-22 キヤノン株式会社 情報処理装置および制御方法およびプログラム
JP5410471B2 (ja) * 2011-05-24 2014-02-05 株式会社Nttドコモ 複数のアプリケーションを連携起動する通信端末、連携起動方法及びコンピュータプログラム
JP2013077284A (ja) * 2011-09-12 2013-04-25 Canon Inc 情報処理装置及びプログラム、制御方法
US8751493B2 (en) * 2012-04-23 2014-06-10 Google Inc. Associating a file type with an application in a network storage service
CN102981915B (zh) * 2012-12-17 2016-08-24 北京奇虎科技有限公司 一种应用程序间通信方法及装置
US20140259028A1 (en) * 2013-03-05 2014-09-11 Google Inc. Mechanism for establishing temporary background communication between applications
US11328344B2 (en) 2013-05-31 2022-05-10 Itron, Inc. Utility application delivery platform
US9710126B2 (en) 2013-10-17 2017-07-18 Blackberry Limited Method and apparatus for displaying a preview of an application to a user
JP5924351B2 (ja) * 2014-01-23 2016-05-25 コニカミノルタ株式会社 情報端末、印刷システム、印刷システムの制御方法、およびプログラム
JP6366373B2 (ja) * 2014-06-13 2018-08-01 キヤノン株式会社 情報処理装置とその制御方法、及びプログラム
JP6331780B2 (ja) * 2014-07-04 2018-05-30 コニカミノルタ株式会社 携帯端末装置、印刷設定方法及び印刷設定プログラム
CN104267977B (zh) * 2014-09-16 2017-12-29 小米科技有限责任公司 应用程序运行方法及装置
JP6187518B2 (ja) * 2015-03-25 2017-08-30 コニカミノルタ株式会社 情報処理端末及びプログラム
US9838458B2 (en) * 2015-06-08 2017-12-05 Wesley John Boudville Cookies and anti-ad blocker using deep links in mobile apps

Also Published As

Publication number Publication date
CN107463345A (zh) 2017-12-12
CN107463345B (zh) 2020-11-06
KR102202187B1 (ko) 2021-01-13
US10437531B2 (en) 2019-10-08
EP3255545A1 (en) 2017-12-13
KR20170138058A (ko) 2017-12-14
US20170351467A1 (en) 2017-12-07
JP2017219961A (ja) 2017-12-14

Similar Documents

Publication Publication Date Title
JP6800620B2 (ja) 情報処理装置、制御方法、及びプログラム
EP2477384B1 (en) Image forming system including an image forming apparatus and a terminal device each having a touch panel recognising pinch gestures
JP6768769B2 (ja) 情報処理装置、制御方法、及びプログラム
JP6098588B2 (ja) 印刷システム、携帯端末装置及び印刷制御プログラム
US9712690B2 (en) Information processing apparatus, information processing system, information processing method, and a computer program product
US20170293457A1 (en) Information processing apparatus, information processing system, method for processing information, and information processing program
JP2008211788A (ja) 事務機器、プログラムインストール支援方法
JP2024056049A (ja) 情報処理装置、その制御方法、並びにプログラム
JP2014174679A (ja) 情報処理装置及びその方法
JP6269006B2 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
JP6803647B2 (ja) 端末装置、プリンタ制御方法、およびコンピュータプログラム
US9864556B2 (en) Image forming apparatus having web browser, method of controlling image forming apparatus, and storage medium
JP7251266B2 (ja) プログラムの組み合わせおよびプログラム
US10863044B2 (en) Information processing apparatus, information processing system, and method of processing information
JP7005982B2 (ja) 情報処理装置およびプログラム
US20240053997A1 (en) Information processing apparatus using program cooperation, control method therefor, and storage medium storing control program therefor
JP7490463B2 (ja) 情報処理装置、その制御方法、並びにプログラム
JP2015121887A (ja) 情報処理装置及びその制御方法、およびプログラム
JP6696609B2 (ja) 携帯端末及び出力プログラム
JP7073936B2 (ja) 画像処理装置、画像処理システム、電子機器、画像処理方法及びプログラム
JP2019003471A (ja) 情報処理装置、画像処理システム及びプログラム
JP2017063304A (ja) 画像読取装置及びプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190605

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190605

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200730

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200818

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201012

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20201027

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201125

R151 Written notification of patent or utility model registration

Ref document number: 6800620

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151