(57)【要約】  本願は、アンドロイド（登録商標）ベースのポップアッププロンプト方法及びデバイスを提供する。この方法は：ポップアップによって促されるトリガイベントが検出されると、アクティビティポップアップコンポーネントを起動してポップアップを出力するステップであって、アクティビティポップアップコンポーネントの起動モードがシングルタスクモードとして事前設定される、前記出力するステップと；アクティビティポップアップコンポーネントが別のアクティビティコンポーネントによって隠されているかどうかを特定するステップと；アクティビティポップアップコンポーネントが別のアクティビティコンポーネントによって隠されている場合、アクティビティポップアップコンポーネントを再起動して、ポップアップがシステムフロントエンドに表示されるようにアクティビティポップアップコンポーネントのアクティビティスタックの一番上への移動をトリガするステップと；を含む。本願によれば、アクティビティポップアップコンポーネントが起動されてユーザにポップアップが出力された後、ポップアップは隠されることなく、常にシステムのフロントエンドに表示されることを確保できる。
2019516161.tif 000002
【特許請求の範囲】
【請求項１】
アンドロイド（登録商標）ベースのポップアッププロンプト方法であって：
ポップアップによって促されるトリガイベントが検出されると、アクティビティポップアップコンポーネントを起動して前記ポップアップを出力するステップであって、前記アクティビティポップアップコンポーネントの起動モードはシングルタスクモードとして事前設定される、前記出力するステップと；
前記アクティビティポップアップコンポーネントが別のアクティビティコンポーネントによって隠されているかどうかを特定するステップと；
前記アクティビティポップアップコンポーネントが別のアクティビティコンポーネントによって隠されている場合、前記アクティビティポップアップコンポーネントを再起動して、前記ポップアップがシステムフロントエンドに表示されるように、前記アクティビティポップアップコンポーネントの、アクティビティスタックの一番上への移動をトリガするステップと；を備える、
アンドロイド（登録商標）ベースのポップアッププロンプト方法。
【請求項２】
前記アクティビティポップアップコンポーネントが別のアクティビティコンポーネントによって隠されているかどうかを特定する前記ステップは：
前記アクティビティポップアップコンポーネントのｏｎＰａｕｓｅ又はｏｎＳｔｏｐメソッドが呼び出されたかどうかを特定するステップと；
前記アクティビティポップアップコンポーネントの前記ｏｎＰａｕｓｅ又はｏｎＳｔｏｐメソッドが呼び出されると、前記アクティビティポップアップコンポーネントが別のアクティビティコンポーネントによって隠されている、と特定するステップと；を備える、
請求項１に記載のポップアッププロンプト方法。
【請求項３】
前記アクティビティポップアップコンポーネントが別のアクティビティコンポーネントによって隠されている場合、前記アクティビティポップアップコンポーネントを再起動する前記ステップは：
前記アクティビティポップアップコンポーネントの前記ｏｎＰａｕｓｅメソッドが呼び出されると、前記ｏｎＰａｕｓｅメソッドに基づいて前記アクティビティポップアップコンポーネントを再起動するステップと；
前記アクティビティポップアップコンポーネントの前記ｏｎＳｔｏｐメソッドが呼び出されると、前記アクティビティポップアップコンポーネントの前記ｏｎＰａｕｓｅメソッドが既に呼び出されているかどうかを特定し、前記ｏｎＰａｕｓｅメソッドが呼び出されていない場合、前記ｏｎＳｔｏｐメソッドに基づいて前記アクティビティポップアップコンポーネントを再起動するステップと；を備える、
請求項２に記載のポップアッププロンプト方法。
【請求項４】
前記ｏｎＰａｕｓｅメソッド又は前記ｏｎＳｔｏｐメソッドに基づいて前記アクティビティポップアップコンポーネントを再起動する前記ステップは：
前記ｏｎＰａｕｓｅメソッド又は前記ｏｎＳｔｏｐメソッドの前記呼び出しが前記アクティビティポップアップコンポーネントに対する無効化イベントによってトリガされたかどうかを特定するステップと；
前記ｏｎＰａｕｓｅメソッド又は前記ｏｎＳｔｏｐメソッドの前記呼び出しが前記アクティビティポップアップコンポーネントに対する前記無効化イベントによってトリガされていない場合、前記ｏｎＰａｕｓｅメソッド又は前記ｏｎＳｔｏｐメソッドに基づいて前記アクティビティポップアップコンポーネントを再起動するステップと；を備える、
請求項３に記載のポップアッププロンプト方法。
【請求項５】
前記ｏｎＰａｕｓｅメソッド又は前記ｏｎＳｔｏｐメソッドの呼び出しが前記アクティビティポップアップコンポーネントに対する前記無効化イベントによってトリガされている場合、前記アクティビティポップアップコンポーネントを通常通り無効化するステップを更に備える、
請求項４に記載のポップアッププロンプト方法。
【請求項６】
アンドロイド（登録商標）ベースのポップアッププロンプトデバイスであって：
ポップアップによって促されるトリガイベントが検出されると、アクティビティポップアップコンポーネントを起動して前記ポップアップを出力するように構成され、前記アクティビティポップアップコンポーネントの起動モードはシングルタスクモードとして事前設定される、起動モジュールと；
前記アクティビティポップアップコンポーネントが別のアクティビティコンポーネントによって隠されているかどうかを特定するように構成された特定モジュールと；
前記アクティビティポップアップコンポーネントが別のアクティビティコンポーネントによって隠されている場合、前記アクティビティポップアップコンポーネントを再起動して、前記ポップアップがシステムフロントエンドに表示されるように前記アクティビティポップアップコンポーネントの、アクティビティスタックの一番上への移動をトリガするように構成された再起動モジュールと；を備える、
アンドロイド（登録商標）ベースのポップアッププロンプトデバイス。
【請求項７】
前記特定モジュールは：
前記アクティビティポップアップコンポーネントのｏｎＰａｕｓｅ又はｏｎＳｔｏｐメソッドが呼び出されたかどうかを特定するように；及び
前記アクティビティポップアップコンポーネントの前記ｏｎＰａｕｓｅ又はｏｎＳｔｏｐメソッドが呼び出されている場合、前記アクティビティポップアップコンポーネントが別のアクティビティコンポーネントによって隠されていると特定するように；構成された、
請求項６に記載のポップアッププロンプトデバイス。
【請求項８】
前記再起動モジュールは：
前記アクティビティポップアップコンポーネントの前記ｏｎＰａｕｓｅメソッドが呼び出されている場合、前記ｏｎＰａｕｓｅメソッドに基づいて前記アクティビティポップアップコンポーネントを再起動するように；及び
前記アクティビティポップアップコンポーネントの前記ｏｎＳｔｏｐメソッドが呼び出されている場合、前記アクティビティポップアップコンポーネントの前記ｏｎＰａｕｓｅメソッドが既に呼び出されているかどうかを特定し、前記ｏｎＰａｕｓｅメソッドが呼び出されていない場合、前記ｏｎＳｔｏｐメソッドに基づいて前記アクティビティポップアップコンポーネントを再起動するように；構成された、
請求項７に記載のポップアッププロンプトデバイス。
【請求項９】
前記再起動モジュールは：
前記ｏｎＰａｕｓｅメソッド又は前記ｏｎＳｔｏｐメソッドの前記呼び出しが前記アクティビティポップアップコンポーネントに対する無効化イベントによってトリガされたかどうかを特定するように；及び
前記ｏｎＰａｕｓｅメソッド又は前記ｏｎＳｔｏｐメソッドの前記呼び出しが前記アクティビティポップアップコンポーネントに対する前記無効化イベントによってトリガされていない場合、前記ｏｎＰａｕｓｅメソッド又は前記ｏｎＳｔｏｐメソッドに基づいて前記アクティビティポップアップコンポーネントを再起動するように；更に構成された、
請求項８に記載のポップアッププロンプトデバイス。
【請求項１０】
前記ｏｎＰａｕｓｅメソッド又は前記ｏｎＳｔｏｐメソッドの前記呼び出しが前記アクティビティポップアップコンポーネントに対する前記無効化イベントによってトリガされている場合、前記アクティビティポップアップコンポーネントを通常通り無効化するように構成された無効化モジュールを更に備える、
請求項９に記載のポップアッププロンプトデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、２０１６年３月１６日に提出され「アンドロイドベースのポップアッププロンプト方法及びデバイス」と題された中国特許出願第２０１６１０１５０７８５．Ｘ号の優先権を主張し、上記中国特許出願は参照によってその全体が本願に組み込まれる。
【０００２】
本願は通信分野、特に、アンドロイド（登録商標）ベース（Ａｎｄｒｏｉｄ（登録商標）−ｂａｓｅｄ）のポップアッププロンプト方法及びデバイスに関する。
【背景技術】
【０００３】
アンドロイド（登録商標）システムでは、ポップアップをユーザへ出力する必要のあるイベントの場合、システムは、プロンプトテキストで記入されたポップアップをユーザへ出力できる。例えば、イベントは、シングルデバイス（ｓｉｎｇｌｅ  ｄｅｖｉｃｅ）ログインイベントであってもよい。シングルデバイスログインとは、通常、ユーザがアカウントを用いて１つのデバイスにのみログインできることを意味する。ユーザがいったん同じアカウントを使って別のデバイスにログインすると、ユーザは使用中のデバイスのログイン状態から強制的に退去させられる。シングルデバイスログインイベントを検出すると、システムは、現在のログインアカウントが既に他のデバイスへのログインに用いられていることをユーザに示すために、ユーザへポップアップを出力できる。この場合、ポップアップ内のプロンプトテキストには、ユーザがログイン状態から強制的に退去させられる理由が含まれてもよい。しかし、関連技術では、アンドロイド（登録商標）システムがユーザへポップアップを出力すると、出力されたポップアップが別のポップアップ又は別のページによって隠されてしまう可能性があり、アプリケーション（ＡＰＰ）やシステム端末の基本機能の、ユーザによる使用に悪影響を及ぼす。
【発明の概要】
【０００４】
本願は、アンドロイド（登録商標）ベースのポップアッププロンプト方法を提供するものであって、この方法は：ポップアップによって促されるトリガイベントが検出されると、アクティビティポップアップコンポーネントを起動して前記ポップアップを出力するステップであって、前記アクティビティポップアップコンポーネントの起動モードはシングルタスクモードとして事前設定される、前記出力するステップと；前記アクティビティポップアップコンポーネントが別のアクティビティコンポーネントによって隠されているかどうかを特定するステップと；前記アクティビティポップアップコンポーネントが別のアクティビティコンポーネントによって隠されている場合、前記アクティビティポップアップコンポーネントを再起動して、前記ポップアップがシステムフロントエンドに表示されるように、前記アクティビティポップアップコンポーネントの、アクティビティスタックの一番上への移動をトリガするステップと；を含む。
【０００５】
オプションとして、前記アクティビティポップアップコンポーネントが別のアクティビティコンポーネントによって隠されているかどうかを特定する前記ステップは：前記アクティビティポップアップコンポーネントのｏｎＰａｕｓｅ又はｏｎＳｔｏｐメソッドが呼び出されたかどうかを特定するステップと；前記アクティビティポップアップコンポーネントの前記ｏｎＰａｕｓｅ又はｏｎＳｔｏｐメソッドが呼び出されると、前記アクティビティポップアップコンポーネントが別のアクティビティコンポーネントによって隠されている、と特定するステップと；を含む。
【０００６】
オプションとして、前記アクティビティポップアップコンポーネントが別のアクティビティコンポーネントによって隠されている場合、前記アクティビティポップアップコンポーネントを再起動する前記ステップは：前記アクティビティポップアップコンポーネントの前記ｏｎＰａｕｓｅメソッドが呼び出されると、前記ｏｎＰａｕｓｅメソッドに基づいて前記アクティビティポップアップコンポーネントを再起動するステップと；前記アクティビティポップアップコンポーネントの前記ｏｎＳｔｏｐメソッドが呼び出されると、前記アクティビティポップアップコンポーネントの前記ｏｎＰａｕｓｅメソッドが既に呼び出されているかどうかを特定し、前記ｏｎＰａｕｓｅメソッドが呼び出されていない場合、前記ｏｎＳｔｏｐメソッドに基づいて前記アクティビティポップアップコンポーネントを再起動するステップと；を含む。
【０００７】
オプションとして、前記ｏｎＰａｕｓｅメソッド又は前記ｏｎＳｔｏｐメソッドに基づいて前記アクティビティポップアップコンポーネントを再起動する前記ステップは：前記ｏｎＰａｕｓｅメソッド又は前記ｏｎＳｔｏｐメソッドの前記呼び出しが前記アクティビティポップアップコンポーネントに対する無効化イベントによってトリガされたかどうかを特定するステップと；前記ｏｎＰａｕｓｅメソッド又は前記ｏｎＳｔｏｐメソッドの前記呼び出しが前記アクティビティポップアップコンポーネントに対する前記無効化イベントによってトリガされていない場合、前記ｏｎＰａｕｓｅメソッド又は前記ｏｎＳｔｏｐメソッドに基づいて前記アクティビティポップアップコンポーネントを再起動するステップと；を含む。
【０００８】
オプションとして、前記ｏｎＰａｕｓｅメソッド又は前記ｏｎＳｔｏｐメソッドの呼び出しが前記アクティビティポップアップコンポーネントに対する前記無効化イベントによってトリガされている場合、前記アクティビティポップアップコンポーネントを通常通り無効化するステップを更に含む。
【０００９】
本願は、アンドロイド（登録商標）ベースのポップアッププロンプトデバイスを提供するものであって、このデバイスは：ポップアップによって促されるトリガイベントが検出されると、アクティビティポップアップコンポーネントを起動して前記ポップアップを出力するように構成され、前記アクティビティポップアップコンポーネントの起動モードはシングルタスクモードとして事前設定される、起動モジュールと；前記アクティビティポップアップコンポーネントが別のアクティビティコンポーネントによって隠されているかどうかを特定するように構成された特定モジュールと；前記アクティビティポップアップコンポーネントが別のアクティビティコンポーネントによって隠されている場合、前記アクティビティポップアップコンポーネントを再起動して、前記ポップアップがシステムフロントエンドに表示されるように前記アクティビティポップアップコンポーネントの、アクティビティスタックの一番上への移動をトリガするように構成された再起動モジュールと；を含む。
【００１０】
オプションとして、前記特定モジュールは：前記アクティビティポップアップコンポーネントのｏｎＰａｕｓｅ又はｏｎＳｔｏｐメソッドが呼び出されたかどうかを特定するように；及び、前記アクティビティポップアップコンポーネントの前記ｏｎＰａｕｓｅ又はｏｎＳｔｏｐメソッドが呼び出されている場合、前記アクティビティポップアップコンポーネントが別のアクティビティコンポーネントによって隠されていると特定するように；構成される。
【００１１】
オプションとして、前記再起動モジュールは：前記アクティビティポップアップコンポーネントの前記ｏｎＰａｕｓｅメソッドが呼び出されている場合、前記ｏｎＰａｕｓｅメソッドに基づいて前記アクティビティポップアップコンポーネントを再起動するように；及び、前記アクティビティポップアップコンポーネントの前記ｏｎＳｔｏｐメソッドが呼び出されている場合、前記アクティビティポップアップコンポーネントの前記ｏｎＰａｕｓｅメソッドが既に呼び出されているかどうかを特定し、前記ｏｎＰａｕｓｅメソッドが呼び出されていない場合、前記ｏｎＳｔｏｐメソッドに基づいて前記アクティビティポップアップコンポーネントを再起動するように；構成される。
【００１２】
オプションとして、前記再起動モジュールは：前記ｏｎＰａｕｓｅメソッド又は前記ｏｎＳｔｏｐメソッドの前記呼び出しが前記アクティビティポップアップコンポーネントに対する無効化イベントによってトリガされたかどうかを特定するように；及び、前記ｏｎＰａｕｓｅメソッド又は前記ｏｎＳｔｏｐメソッドの前記呼び出しが前記アクティビティポップアップコンポーネントに対する前記無効化イベントによってトリガされていない場合、前記ｏｎＰａｕｓｅメソッド又は前記ｏｎＳｔｏｐメソッドに基づいて前記アクティビティポップアップコンポーネントを再起動するように；更に構成される。
【００１３】
オプションとして、本デバイスは：前記ｏｎＰａｕｓｅメソッド又は前記ｏｎＳｔｏｐメソッドの前記呼び出しが前記アクティビティポップアップコンポーネントに対する前記無効化イベントによってトリガされている場合、前記アクティビティポップアップコンポーネントを通常通り無効化するように構成された無効化モジュールを更に備える。
【００１４】
本願では、ポップアップによって促されるトリガイベントが検出されると、アクティビティポップアップコンポーネントが起動してポップアップを出力するが、そのアクティビティポップアップコンポーネントの起動モードはシングルタスクモードとして事前設定される。アクティビティポップアップコンポーネントが別のアクティビティコンポーネントによって隠されているかどうかが特定される。アクティビティポップアップコンポーネントが別のアクティビティコンポーネントによって隠されている場合、そのアクティビティポップアップコンポーネントが再起動されて、ポップアップがシステムフロントエンドに表示されるようにアクティビティポップアップコンポーネントのアクティビティスタックの一番上への移動をトリガする。したがって、アクティビティポップアップコンポーネントが起動してユーザにポップアップが出力された後、ポップアップは隠されることなく、常に、システムのフロントエンドに表示されることを確保できる。
【図面の簡単な説明】
【００１５】
【図１】図１は、本願の実施に係る、アンドロイド（登録商標）ベースのポップアッププロンプト方法を示すフローチャートである。
【００１６】
【図２】図２は、本願の実施に係る、アンドロイド（登録商標）ベースのポップアッププロンプトデバイスを示す論理ブロック図である。
【００１７】
【図３】図３は、本願の実施に係る、アンドロイド（登録商標）ベースのポップアッププロンプトデバイスを含む端末のハードウェアを示す構造図である。
【発明を実施するための形態】
【００１８】
関連技術では、アンドロイド（登録商標）システムは、通常、以下の各実施においてユーザへポップアップを出力できる。
【００１９】
実施において、アンドロイド（登録商標）システムはウィンドウコンポーネントを用いてポップアップを出力できる。
【００２０】
ウィンドウコンポーネントを用いるポップアップ出力は、どのページでも出力でき、別のページによって隠されることはない。しかし、通常、ユーザは、ウィンドウコンポーネントを用いて行うポップアップ出力の設定が可能である。したがって、ユーザがシステム内のポップアップを手動で禁止すると、システムはポップアップを出力できなくなる。
【００２１】
別の実施では、アンドロイド（登録商標）システムはアクティビティ（Ａｃｔｉｖｉｔｙ）コンポーネントを用いてポップアップを出力できる。
【００２２】
アンドロイド（登録商標）システムでは、アクティビティコンポーネントがユーザとの対話を受け持つ。コンポーネントは対話インターフェースを提供し、対話（インタラクション）インターフェースにいくつかの対話ウィジェット（ボタンやポップアップなど）を表示できる。ユーザは、これらの対話ウィジェットを操作して、端末と対話することができる。端末は、バックエンド上でこれらの対話ウィジェットに対するユーザのイベントを検出して現在の対話に対応するタスクを完遂できる。端末はアクティビティコンポーネントを用いてポップアップを出力するので、システム内の任意のアクティビティコンポーネントをポップアップの本体として用いて、任意のページにポップアップを出力できる。しかし、アクティビティコンポーネントは、通常、アクティビティスタック内で管理される。いったんアクティビティコンポーネントが、アクティビティスタック内の別のアクティビティコンポーネントによって隠される、つまり、他のアクティビティコンポーネントがアクティビティスタックの一番上になり、アクティビティコンポーネントがもはやアクティビティスタックの一番上でなくなり、アクティビティコンポーネントによって出力されたポップアップが別のポップアップ又はインターフェースによって隠されると、システムのフロントエンドに表示できず、アプリケーション又はシステムの基本機能の使用に悪影響を及ぼすことになる。
【００２３】
別の実施では、アンドロイド（登録商標）システムは、ポップアップを固定ページへ出力できる。
【００２４】
しかし、ポップアップが固定ページに出力されると、これには柔軟性がなく、対話エクスペリエンスは貧弱になる。例えば、ログインページにポップアップが出力された場合、出力されたポップアップはログインページにのみ表示される。システムがユーザへポップアップを出力した後、システムフロントエンドが別のページを表示した場合、ユーザが能動的にログインページへ切り替えない限り、システムによって出力されたポップアップを見ることができない。その結果、システムによって出力されたポップアップを、出力の時点でユーザに知らせることができない。
【００２５】
これを考慮して、本願はアンドロイド（登録商標）ベースのポップアッププロンプト方法を提供する。ポップアップによって促されるトリガイベントが検出されると、アクティビティポップアップコンポーネントが起動されてポップアップを出力するが、そのアクティビティポップアップコンポーネントの起動モードはシングルタスクモードとして事前設定される。アクティビティポップアップコンポーネントが別のアクティビティコンポーネントによって隠されているかどうかが特定される。アクティビティポップアップコンポーネントが別のアクティビティコンポーネントによって隠されている場合、そのアクティビティポップアップコンポーネントは再起動されて、ポップアップがシステムフロントエンドに表示されるようにアクティビティポップアップコンポーネントのアクティビティスタックの一番上への移動をトリガする。本願では、アクティビティポップアップコンポーネントがシングルタスクモードになっているため、アクティビティポップアップコンポーネントは、再起動後直ちにアクティビティスタックの一番上へ移すことができる。したがって、アクティビティポップアップコンポーネントが起動してユーザへポップアップが出力された後、ポップアップが隠されることなく、常にシステムのフロントエンドに表示されることを確保できる。
【００２６】
加えて、本願では、ポップアップはもはやアンドロイド（登録商標）システムのウィンドウコンポーネントに基づいては出力されず、ユーザはもはやポップアップを設定できなくなり、これにより、ユーザがシステム内でのポップアップを手動で禁止することが理由でポップアップを出力できない、という問題は回避される。
【００２７】
さらに、本願ではアクティビティポップアップコンポーネントを用いてポップアップを出力するため、システム内の任意のアクティビティコンポーネントを本体として用いて任意のページにポップアップを出力でき、高い柔軟性を実現できる。
【００２８】
本願を、具体的なアプリケーションシナリオを参照に、具体的な実施を用いて、以下説明する。
【００２９】
図１を参照すると、図１は、本願の実施に係る、アンドロイド（登録商標）ベースのポップアッププロンプト方法を示す。この方法は端末に適用され、以下のステップを含む。
【００３０】
ステップ１０１：ポップアップによって促されるトリガイベントが検出された場合、アクティビティポップアップコンポーネントを起動してポップアップを出力させ、その際アクティビティポップアップコンポーネントの起動モードをシングルタスクモードに事前設定する。
【００３１】
本願において、端末とは、アンドロイド（登録商標）システムを走らせるインテリジェント端末、例えばスマートフォン又はタブレットコンピュータなどの移動端末、を含むことができる。
【００３２】
ポップアップによって促されるトリガイベントは、端末システムによって検出されるイベントを含むことができ、ポップアップを出力することによってユーザが促される必要がある。ポップアップによって促されるトリガイベントは、様々なアプリケーションシナリオにおける様々なタイプのイベントを含むことができる。
【００３３】
例えば、シングルデバイスログインアプリケーションシナリオでは、ポップアップによって促されるトリガイベントには、シングルデバイスログインイベントが含まれている可能性がある。このアプリケーションシナリオでは、ユーザが同じログインアカウントを用いて別の端末にログインすると、使用中の端末はログイン状態を退出し、ユーザにポップアップを出力して、これを、現在のログイン状態からの退出理由とともにユーザに示す。
【００３４】
別の実施例については、着信コール応答アプリケーションシナリオにおいて、ポップアップによって促されるトリガイベントを、着信コールイベントが含むことができる。着信コールを検出すると、端末システムはユーザにポップアップを出力できる。この場合、ユーザは、ポップアップに対する対応操作を実行して着信コールに応答できる又は着信コールを拒否できる（例えば、上又は下へスライドする）。
【００３５】
本願において、端末は、さらに所定のアクティビティポップアップコンポーネントを用いて、ユーザへポップアップを出力できる。ポップアップによって促されるトリガイベントを検出した後、端末は、アクティビティポップアップコンポーネントを起動して、ポップアップを出力するために用いられるアクティビティインスタンスを作成し、次いでインスタンスに基づいてポップアップにプロンプトテキストを入力し、プロンプトテキストをユーザへ出力できる。
【００３６】
アンドロイド（登録商標）システムでは、アクティビティコンポーネントの起動モード（ｌａｕｎｃｈＭｏｄｅ）には、通常、４種類のモード、即ち、標準モード、ｓｉｎｇｌｅＴｏｐモード、ｓｉｎｇｌｅＴａｓｋモード（つまりシングルタスクモード）、及びｓｉｎｇｌｅＩｎｓｔａｎｃｅモードが含まれる。
【００３７】
アクティビティコンポーネントがｓｉｎｇｌｅＴａｓｋモードにある場合、アクティビティポップアップコンポーネントは一意のアクティビティインスタンスのみを実行できる。
【００３８】
ｓｉｎｇｌｅＴａｓｋモードでは、アクティビティポップアップコンポーネントの起動後、システムはアクティビティスタック内にアクティビティポップアップコンポーネントに対応するアクティビティインスタンスが存在するかどうかを特定する。アクティビティポップアップコンポーネントに対応するアクティビティインスタンスは、現在のアクティビティスタック内に既に存在するので、ｓｉｎｇｌｅＴａｓｋモードでは、システムは新しいアクティビティインスタンスを作成せず、アクティビティスタックからアクティビティポップアップコンポーネントを隠すことになる別のアクティビティコンポーネントを削除し、既存のアクティビティインスタンスに対応するアクティビティポップアップコンポーネントを、アクティビティスタックの一番上へ移す。この場合、アクティビティインスタンスに基づくポップアップ出力は、システムのフロントエンドに再び表示され、隠されることはない。
【００３９】
したがって、本願では、アクティビティポップアップコンポーネントによるポップアップ出力を別のポップアップ又はページによって隠されないように、アクティビティポップアップコンポーネントの起動モードは、初期状態でｓｉｎｇｌｅＴａｓｋモードに設定できる。
【００４０】
ステップ１０２：アクティビティポップアップコンポーネントが別のアクティビティコンポーネントによって隠されているかどうかを特定する。
【００４１】
アンドロイド（登録商標）システムでは、アクティビティコンポーネントのライフサイクルには、通常は、ｒｕｎｎｉｎｇ（実行）状態、Ｐａｕｓｅ（一時停止）状態、Ｓｔｏｐ（停止）状態、及びＤｅｓｔｒｏｙ（破壊、廃止）状態（無効）が含まれる。
【００４２】
ｒｕｎｎｉｎｇ（実行）状態は、アクティビティコンポーネントを見ることができ、ユーザと対話できる状態である。アクティビティコンポーネントが起動すると、初期状態はｒｕｎｎｉｎｇ状態となる。この場合、アクティビティコンポーネントはアクティビティスタックの一番上に配置され、システムフロントエンド（画面のフロントエンド）に表示される。
【００４３】
Ｐａｕｓｅ（一時停止）状態は、アクティビティコンポーネントが、フルサイズではない、又は半透明である、別のアクティビティコンポーネントによって隠され、もはやアクティビティスタックの一番上にはないが、それでもまだ見ることができ、ユーザと対話ができる状態である。
【００４４】
Ｓｔｏｐ（停止）状態は、アクティビティコンポーネントが別のアクティビティコンポーネントによって完全に隠され、アクティビティスタックの一番上にはなく、アクティビティコンポーネントの対話インターフェースが完全に隠されている状態である。
【００４５】
Ｄｅｓｔｒｏｙ（破壊、廃止）状態は、アクティビティコンポーネントが無効になった状態である。
【００４６】
４つの動作状態は、アクティビティコンポーネントに対するユーザの操作により切り替えることができる。
【００４７】
アンドロイド（登録商標）システムでは、アクティビティコンポーネントの起動後、ユーザが操作を実行することによって新しいアクティビティコンポーネントを起動する場合、新しいアクティビティコンポーネントはアクティビティスタックの一番上に移って、元のアクティビティコンポーネントを隠す。この場合、システムはｏｎＰａｕｓｅメソッドを呼び出して元のアクティビティコンポーネントをＰａｕｓｅ状態に切り替える。
【００４８】
元のアクティビティコンポーネントが完全に隠れている場合、システムはｏｎＳｔｏｐメソッドを呼び出して、元のアクティビティコンポーネントをＳｔｏｐ状態に切り替える。
【００４９】
元のアクティビティコンポーネントがＰａｕｓｅ状態又はＳｔｏｐ状態にあり、システムメモリが不足していると、システムはｏｎＤｅｓｔｒｏｙメソッドを呼び出して、アクティビティコンポーネントをＤｅｓｔｒｏｙ状態に切り替えてアクティビティコンポーネントを無効にする。
【００５０】
したがって、実施において、システムはアクティビティポップアップコンポーネントのｏｎＰａｕｓｅメソッド又はｏｎＳｔｏｐメソッドが呼び出されたかどうかを特定することによりアクティビティポップアップコンポーネントが別のアクティビティコンポーネントによって隠されているかどうかを特定できる。
【００５１】
アクティビティポップアップコンポーネントのｏｎＰａｕｓｅ又はｏｎＳｔｏｐメソッドが呼び出されると、このアクティビティポップアップコンポーネントは、現在、別のアクティビティコンポーネントによって隠されており、もはやスタックの一番上にはない、と特定できる。
【００５２】
ステップ１０３：アクティビティポップアップコンポーネントが別のアクティビティコンポーネントによって隠されている場合、アクティビティポップアップコンポーネントを再起動して、ポップアップがシステムフロントエンドに表示されるように、アクティビティポップアップコンポーネントの、アクティビティスタックの一番上への移動をトリガする。
【００５３】
この実施では、アクティビティポップアップコンポーネントが別のアクティビティコンポーネントによって隠されている、と特定すると、システムはアクティビティポップアップコンポーネントを再起動できる。アクティビティポップアップコンポーネントはｓｉｎｇｌｅＴａｓｋモードとして事前に設定されているため、アクティビティポップアップコンポーネントを再起動した後、システムはアクティビティスタックからアクティビティポップアップコンポーネントを隠すことになる別のアクティビティコンポーネントを削除する。
【００５４】
この場合、アクティビティポップアップコンポーネントはアクティビティスタックの一番上へ再び移され、アクティビティポップアップコンポーネントの一意のアクティビティインスタンスに基づいて、ポップアップ出力がシステムのフロントエンドに再表示され、隠されることはない。
【００５５】
実施において、アクティビティポップアップコンポーネントのｏｎＰａｕｓｅメソッドが呼び出された、とシステムが特定した場合、システムは、アクティビティポップアップコンポーネントが別のアクティビティコンポーネントによって隠されていることを確認できる。
【００５６】
この場合、アクティビティポップアップコンポーネントを再起動するロジックは、事前にｏｎＰａｕｓｅメソッドにロードできる。例えば、開発者は、ｏｎＰａｕｓｅ（）メソッド内でアクティビティポップアップコンポーネントを再起動するために用いられる実行コードを編集できる。ｏｎＰａｕｓｅメソッドを呼び出した後、システムはアクティビティポップアップコンポーネントを再起動できる。
【００５７】
別の実施では、アクティビティポップアップコンポーネントのｏｎＳｔｏｐメソッドが呼び出された、とシステムが特定した場合、システムは、アクティビティポップアップコンポーネントが別のアクティビティコンポーネントによって隠されていることを確認できる。アクティビティポップアップコンポーネントを再起動するロジックは、事前にｏｎＳｔｏｐメソッドにもロードできる。
【００５８】
アンドロイド（登録商標）システムでは、システムがｏｎＰａｕｓｅメソッドとｏｎＳｔｏｐメソッドとを呼び出すとき、システムは、通常、ｏｎＳｔｏｐメソッドの前にｏｎＰａｕｓｅメソッドを呼び出す（呼び出し順序はアンドロイド（登録商標）システムの基本的な処理メカニズムである）。しかし、同時ポップアップシナリオ（つまり、アクティビティポップアップコンポーネントが出力するポップアップ出力は、アクティビティポップアップコンポーネントがポップアップを出力するときだけ、別のアクティビティコンポーネントのポップアップによって隠される）等のアプリケーションシナリオによっては、システムは、ｏｎＰａｕｓｅメソッドとｏｎＳｔｏｐメソッドとの呼出し順序の間に異常な作動をする可能性がある。具体的には、システムはｏｎＰａｕｓｅメソッドを無視して、ｏｎＳｔｏｐメソッドを直接に呼び出すことができる。
【００５９】
したがって、これらの異常なアプリケーションシナリオでは、ｏｎＳｔｏｐメソッドにロードされた再起動ロジックを用いてアクティビティポップアップコンポーネントを繰り返し処理することを避けるため、システムが、アクティビティポップアップコンポーネントのｏｎＳｔｏｐメソッドが呼び出された、と特定した場合、システムは、アクティビティポップアップコンポーネントのｏｎＰａｕｓｅメソッドが呼び出されたかどうかをさらに特定できる。アクティビティポップアップコンポーネントのｏｎＰａｕｓｅメソッドが既に呼び出されている場合、ｏｎＰａｕｓｅメソッドにロードされた再起動ロジックを実行することによって、アクティビティポップアップコンポーネントが既に処理されていることを示している。この場合、システムは、ｏｎＳｔｏｐメソッドでロードされた再起動ロジックを繰り返し実行して、アクティビティポップアップコンポーネントを繰り返し処理することはもはやできない。
【００６０】
もちろん、アクティビティポップアップコンポーネントのｏｎＰａｕｓｅメソッドが呼び出されていない場合、システムにおいて異常な呼出しを発生することが可能であり、システムは、ｏｎＳｔｏｐメソッドにロードされた再起動ロジックを正常に実行し、アクティビティポップアップコンポーネントを再起動できる。
【００６１】
システムが、アクティビティポップアップコンポーネントのクラスファイルに印を追加し、次いでクラスファイルに対応する印があるかどうかをチェックして、アクティビティポップアップコンポーネントのｏｎＰａｕｓｅメソッドが既に呼び出されたかどうかを特定できる点は特に留意すべきである。
【００６２】
例えば、実施中に、ｏｎＰａｕｓｅメソッドにロードされた再起動ロジックを呼び出すことによって、システムがアクティビティポップアップコンポーネントを完全に処理した後、アクティビティポップアップのクラスファイルに印を追加できる。この印を用いて、アクティビティポップアップコンポーネントがｏｎＰａｕｓｅメソッドにロードされた再起動ロジックに基づいて既に処理されていることを示す。
【００６３】
アクティビティポップアップコンポーネントのｏｎＳｔｏｐメソッドが呼び出された、とシステムが特定した場合、システムはアクティビティポップアップコンポーネントのクラスファイルに印があるかどうかをさらにチェックして、アクティビティポップアップコンポーネントのｏｎＰａｕｓｅメソッドが既に呼び出されているかどうか確認できる。クラスファイルに印がある場合、アクティビティポップアップコンポーネントがｏｎＰａｕｓｅメソッドにロードされた再起動ロジックに基づいて既に処理されていることを意味し、繰り返し処理する必要はない。
【００６４】
このメソッドを用いることにより、ｏｎＰａｕｓｅメソッドとｏｎＳｔｏｐメソッドとを呼び出すシーケンスに異常が発生するというアプリケーションシナリオにおいて、ｏｎＳｔｏｐメソッドでロードされた再起動ロジックを用いることによってアクティビティポップアップコンポーネントが繰り返し処理されることを防げることが分かる。
【００６５】
先に述べた実施では、システムがアクティビティポップアップコンポーネントのｏｎＰａｕｓｅメソッド又はｏｎＳｔｏｐメソッドが呼び出されたかどうかを特定して、アクティビティポップアップコンポーネントが別のアクティビティコンポーネントによって隠されているかどうか特定できる詳細な工程が説明されている。アクティビティポップアップコンポーネントが別のアクティビティコンポーネントによって隠されている、とシステムが特定すると、ｏｎＰａｕｓｅメソッド又はｏｎＳｔｏｐメソッドにロードされた再起動ロジックを実行して、アクティビティポップアップコンポーネントを再起動する。そのため、アクティビティポップアップコンポーネントをｓｉｎｇｌｅＴａｓｋモードとして事前設定すると、アクティビティポップアップコンポーネントをアクティビティスタックの一番上へ再び移すことができ、出力ポップアップをシステムフロントエンドに再表示でき、隠されることはない。
【００６６】
しかし、アンドロイド（登録商標）システムでは、アクティビティポップアップコンポーネントが別のアクティビティコンポーネントによって隠されているときばかりでなく、ユーザがアクティビティポップアップコンポーネントを無効にするために通常の無効化イベント（ｄｉｓａｂｌｉｎｇ  ｅｖｅｎｔ）を実行したときにも、システムはｏｎＰａｕｓｅメソッド又はｏｎＳｔｏｐメソッドを呼び出す。
【００６７】
例えば、アクティビティコンポーネントが実行中の状態にあるとき、システムが、アクティビティコンポーネントに対するユーザの無効化イベントを検出する場合、システムはｏｎＰａｕｓｅメソッドとｏｎＳｔｏｐメソッドとを順番に呼び出して、アクティビティコンポーネントをＰａｕｓｅ状態及びＳｔｏｐ状態へ連続的に切り替え、次いで自動的にｏｎＤｅｓｔｒｏｙメソッドを呼び出して、アクティビティコンポーネントをＤｅｓｔｒｏｙ状態へ切り替えてアクティビティコンポーネントを無効にする。
【００６８】
無効化イベントは、ユーザがアクティビティポップアップコンポーネントに対して行った無効化操作に対応するイベントを含むことができる。例えば、アンドロイド（登録商標）システムを走らせるタッチスクリーンスマートフォンに対して、無効化イベントは、携帯電話上のバックキーに対するユーザのタップイベントを含むことができる。具体的には、ユーザは携帯電話のバックキーをタップしてアクティビティポップアップコンポーネントを無効にできる。携帯電話システムは、バックエンドのバックキーに対するユーザのタップイベントを検出すると、ｏｎＰａｕｓｅメソッドとｏｎＳｔｏｐメソッドとを順番に呼び出して、アクティビティコンポーネントをＰａｕｓｅ状態とＳｔｏｐ状態へ連続的に切り替え、次いでｏｎＤｅｓｔｒｏｙメソッドを自動的に呼び出してアクティビティコンポーネントを無効にできる。
【００６９】
ユーザが普通にアクティビティポップアップコンポーネントを無効にするアプリケーションシナリオでは、ｏｎＰａｕｓｅメソッド又はｏｎＳｔｏｐメソッドの呼び出しは、アクティビティポップアップコンポーネントが別のアクティビティコンポーネントによって隠されているというイベントによってではなく、ユーザの通常の無効化操作によってトリガされる、ということが分かる。したがって、アクティビティポップアップコンポーネントのｏｎＰａｕｓｅメソッド又はｏｎＳｔｏｐメソッドにロードされた再起動ロジックを実行してアクティビティポップアップコンポーネントを更に再起動すれば、ユーザの誤操作が発生する（具体的には、ユーザはアクティビティポップアップコンポーネントを無効にすることを望むが、代わりに再起動ロジックを用いることでアクティビティポップアップコンポーネントを再起動する）。
【００７０】
このため、誤操作を避けるために、アクティビティポップアップコンポーネントのｏｎＰａｕｓｅメソッド又はｏｎＳｔｏｐメソッドが呼び出された、とシステムが特定すると、システムがｏｎＰａｕｓｅメソッド又はｏｎＳｔｏｐメソッドにロードされている再起動ロジックに基づいてアクティビティポップアップコンポーネントを再起動する前に、システムは、ｏｎＰａｕｓｅメソッド又はｏｎＳｔｏｐメソッドの呼び出しがアクティビティポップアップコンポーネントの無効化イベントのためにユーザによってトリガされたものかどうかを更に特定できる。
【００７１】
アクティビティポップアップコンポーネントの無効化イベントのために、ユーザによってｏｎＰａｕｓｅメソッド又はｏｎＳｔｏｐメソッドの呼び出しがトリガされた場合、これはアクティビティポップアップコンポーネントの通常の無効化手順であり、システムは、アクティビティポップアップコンポーネントを通常通り無効にでき、アクティビティポップアップコンポーネントの通常の無効化手順に応答し、アクティビティポップアップコンポーネントのｏｎＤｅｓｔｒｏｙメソッドを自動的に呼び出してアクティビティポップアップコンポーネントを無効にできる。
【００７２】
もちろん、アクティビティポップアップコンポーネントの無効化イベントのために、ユーザによってｏｎＰａｕｓｅメソッド又はｏｎＳｔｏｐメソッドの呼び出しがトリガされない場合、システムはｏｎＰａｕｓｅメソッド又はｏｎＳｔｏｐメソッドにロードされた再起動ロジックを正常に実行でき、アクティビティポップアップコンポーネントを再起動し、アクティビティポップアップコンポーネントをアクティビティスタックの一番上へ移す。
【００７３】
システムはアクティビティポップアップコンポーネントのクラスファイルに印（マーク）を追加し、次いでクラスファイルに対応する印があるかどうかをチェックして、ｏｎＰａｕｓｅメソッド又はｏｎＳｔｏｐメソッドの呼び出しがアクティビティポップアップコンポーネントの無効化イベントのためにユーザによってトリガされたかどうかを特定できる点は、特に留意すべき事項である。
【００７４】
例えば、実施中に、システムがアクティビティポップアップコンポーネントに対してユーザの無効化イベントを検出し、ｏｎＰａｕｓｅメソッドとｏｎＳｔｏｐメソッドとを呼び出した後、システムはアクティビティポップアップコンポーネントのクラスファイルに印を追加できる。この印を用いて、ｏｎＰａｕｓｅメソッドとｏｎＳｔｏｐメソッドとの呼び出しが、アクティビティポップアップコンポーネントの無効化イベントのためにユーザによってトリガされたことが示される。
【００７５】
このシステムは、ｏｎＰａｕｓｅメソッド又はｏｎＳｔｏｐメソッドが呼び出されたと特定すると、アクティビティポップアップコンポーネントのクラスファイルに印があるかどうかを更にチェックできる。クラスファイルに印がある場合は、ｏｎＰａｕｓｅメソッド及びｏｎＳｔｏｐメソッドの呼び出しが、アクティビティポップアップコンポーネントの無効化イベントのためにユーザによってトリガされたことを示す。この場合、システムは、アクティビティポップアップコンポーネントの通常の無効化手順に応答できる。
【００７６】
このメソッドを用いることにより、ユーザが普通にアクティビティポップアップコンポーネントを無効にするアプリケーションシナリオでは、アクティビティポップアップコンポーネントが再起動される場合、ｏｎＰａｕｓｅメソッド又はｏｎＳｔｏｐメソッドにロードされた再起動ロジックを実行することによって引き起こされる誤作動の問題を回避できる、ということが分かる。
【００７７】
具体的なアプリケーションシナリオを参照して、先の実施における技術的解決策を以下詳細に説明する。
【００７８】
本願に示されるアプリケーションシナリオは、シングルデバイスログインアプリケーションシナリオと、着信コール応答アプリケーションシナリオとを含むことができる。
【００７９】
シングルデバイスログインアプリケーションシナリオでは、ポップアップによって促されるトリガイベントに、シングルデバイスログインイベントを含めることができる。このアプリケーションシナリオでは、ユーザはログインアカウントを用いて端末にログインすることができ、端末に対応するログインサーバはログインアカウントを検証できる。ログインサーバがログインアカウントを成功裏に検証した後、ユーザは端末にログインできる。
【００８０】
ユーザが同じログインアカウントを用いて別の端末にログインすると、ログインサーバは使用中のログイン端末へ通知メッセージを送信して、使用中のログイン端末をトリガしてログイン状態を終了させる。サーバによって送信された通知メッセージを受信した後、使用中のログイン端末は、シングルデバイスログインイベントが検出されたと見なすことができる。この場合、使用中のログイン端末はログイン状態を終了し、シングルデバイスログインポップアップをユーザへ出力できる。現在のログイン状態を終了する理由とともにユーザに促すために用いられるプロンプトテキストは、ポップアップ内に記入できる。
【００８１】
システムがアクティビティポップアップコンポーネントを起動し、シングルデバイスログインポップアップを出力すると、この出力したポップアップが別のポップアップ又はページによって隠されないように、システムは、アクティビティポップアップコンポーネントのｒｕｎｎｉｎｇ状態をデフォルトでｓｉｎｇｌｅＴａｓｋモードに設定できる。
【００８２】
アクティビティポップアップコンポーネントが別のアクティビティコンポーネントによって隠されている場合、システムはｏｎＰａｕｓｅメソッド又はｏｎＳｔｏｐメソッドを呼び出す。再起動ロジックは、事前にｏｎＰａｕｓｅメソッド又はｏｎＳｔｏｐメソッドにロードされている。ｏｎＰａｕｓｅメソッド又はｏｎＳｔｏｐメソッドで再起動ロジックを実行した後、システムはアクティビティポップアップコンポーネントを再起動できる。
【００８３】
アクティビティポップアップコンポーネントは事前にｓｉｎｇｌｅＴａｓｋモードに設定されているため、アクティビティポップアップコンポーネントを再起動すると、システムはアクティビティスタックからアクティビティポップアップコンポーネントを隠すことになる別のアクティビティコンポーネントを削除し、アクティビティポップアップコンポーネントを再びアクティビティスタックの一番上へ移す。この場合、シングルデバイスログインポップアップは再びシステムフロントエンドに表示され、別のポップアップ又はページによって隠されることはない。アクティビティポップアップコンポーネントを隠すことになる他のアクティビティコンポーネントはアクティビティスタックから直接に削除されるので、他のアクティビティコンポーネントに対応する対話インターフェースは表示できず、ユーザはページ変更を認識できない。
【００８４】
シングルデバイスログインアプリケーションシナリオでは、シングルデバイスログインポップアップが隠れているためにプロンプト情報をユーザへ遅れずに知らせることができない、という問題を、この方法を用いることで回避できることが分かる。
【００８５】
着信コール応答アプリケーションシナリオでは、ポップアップによって促されるトリガイベントに着信コールイベントが含まれている可能性がある。このアプリケーションシナリオでは、着信コールを検出すると、端末システムは、着信コールが検出されたことをユーザに知らせるために着信コールポップアップをユーザへ出力できる。着信コールのイニシエータとともにユーザを促すのに用いるプロンプトテキストをポップアップ内に記入できる。ユーザは、ポップアップに対応する操作、例えば、上又は下へスライドして着信コールに応答したり、着信を拒否したりすることができる。
【００８６】
このシナリオでは、着信コールを検出したときにシステムによって出力される着信コールポップアップが別のポップアップ又はページによって隠されている場合、ユーザが着信コールに応答するために着信コールポップアップに対して操作を実行できない、又は着信コールポップアップが隠されたときに端末のキー（ホームキーなど）が機能しなくなるという両立性の問題が起こり得る。
【００８７】
システムが着信コールポップアップを出力するためにアクティビティポップアップコンポーネントを起動すると、出力ポップアップが別のポップアップ又はページによって隠されないように、システムはアクティビティポップアップコンポーネントのｒｕｎｎｉｎｇ状態をデフォルトでｓｉｎｇｌｅＴａｓｋモードに設定できる。
【００８８】
アクティビティポップアップコンポーネントが別のアクティビティコンポーネントによって隠されている場合、システムはｏｎＰａｕｓｅメソッド又はｏｎＳｔｏｐメソッドを呼び出す。再起動ロジックは、事前にｏｎＰａｕｓｅメソッド又はｏｎＳｔｏｐメソッドにロードされている。ｏｎＰａｕｓｅメソッド又はｏｎＳｔｏｐメソッドで再起動ロジックを実行した後、システムはアクティビティポップアップコンポーネントを再起動できる。
【００８９】
アクティビティポップアップコンポーネントは事前にｓｉｎｇｌｅＴａｓｋモードに設定されているため、アクティビティポップアップコンポーネントを再起動すると、システムはアクティビティスタックからアクティビティポップアップコンポーネントを隠すことになる別のアクティビティコンポーネントを削除し、アクティビティポップアップコンポーネントを再びアクティビティスタックの一番上へ移す。この場合、着信コールポップアップは再びシステムのフロントエンドに表示され、別のポップアップやページによって隠されることはない。アクティビティポップアップコンポーネントを隠すことになる他のアクティビティコンポーネントは、アクティビティスタックから直接に削除されるため、他のアクティビティコンポーネントに対応する対話インターフェースは表示できず、ユーザはページ変更を認識できない。
【００９０】
着信コール応答アプリケーションシナリオでは、着信コールがポップアップによって隠されているためにユーザが着信コールに応答できない状況での端末キーとの両立性の問題が、この方法を用いることによって回避できることが分かる。
【００９１】
もちろん、上述のアプリケーションシナリオに加えて、説明された実施の技術的解決策は、別の同様のシナリオへ更に適用できる。具体的には、実際のアプリケーションでは、上述のアプリケーションシナリオに加えて、説明された実施における技術的解決策に適用可能なアプリケーションシナリオは、ユーザに促すためにポップアップを出力する必要があり、出力ポップアップが別のポップアップやページによって隠されているとシステム内のアプリや基本機能の使用に悪影響を及ぼす可能性があるすべてのアプリケーションシナリオを更に含むことができる。本願ではそれらを列挙しない。
【００９２】
先に述べた実施では、ポップアップによって促されるトリガイベントが検出されると、アクティビティポップアップコンポーネントが起動してポップアップが出力され、アクティビティポップアップコンポーネントの起動モードはシングルタスクモードとして事前設定される。アクティビティポップアップコンポーネントが別のアクティビティコンポーネントによって隠されているかどうかが特定される。アクティビティポップアップコンポーネントが別のアクティビティコンポーネントによって隠されている場合、そのアクティビティポップアップコンポーネントが再起動されてポップアップがシステムフロントエンドに表示されるように、アクティビティポップアップコンポーネントの、アクティビティスタックの一番上への移動をトリガする。本願では、アクティビティポップアップコンポーネントがシングルタスクモードになっているので、アクティビティポップアップコンポーネントを、再起動後直ちにアクティビティスタックの一番上へ移すことができる。したがって、アクティビティポップアップコンポーネントが起動されてユーザへポップアップが出力された後、ポップアップは隠されることなく、常にシステムフロントエンドに表示されることを確保できる。
【００９３】
加えて、本願では、ポップアップはもはやアンドロイド（登録商標）システムのウィンドウコンポーネントに基づいて出力されなくなり、ユーザはもはやポップアップを設定することが許されなくなる。これにより、ユーザがシステム内でのポップアップを手動で禁止することが理由でポップアップを出力できない、という問題は回避される。
【００９４】
さらに、本願ではアクティビティポップアップコンポーネントを用いてポップアップを出力するので、システム内の任意のアクティビティコンポーネントを本体として用いて任意のページにポップアップを出力でき、高い柔軟性を実現する。
【００９５】
これまで述べた方法の実施に対応して、本願は、デバイス（装置）の実施を更に提供する。
【００９６】
図２を参照すると、本願は、端末に適用されるアンドロイド（登録商標）ベースのポップアッププロンプトデバイス２０を提供する。図３を参照すると、アンドロイド（登録商標）ベースのポップアッププロンプトデバイス２０を含む端末のハードウェアアーキテクチャは、通常、ＣＰＵ、メモリ、不揮発性メモリ、ネットワークインターフェース、内部バスなどを含む。実施例としてソフトウェア実装を用いることによって、アンドロイド（登録商標）ベースのポップアッププロンプトデバイス２０は、通常、メモリにロードされたコンピュータプログラムとして理解することができる。ＣＰＵがコンピュータプログラムを実行した後、ソフトウェアとハードウェアとを組み合わせた論理デバイスが形成される。デバイス２０は：ポップアップによって促されるトリガイベントが検出されると、アクティビティポップアップコンポーネントを起動し、ポップアップを出力するように構成され、アクティビティポップアップコンポーネントの起動モードはシングルタスクモードとして事前設定される、起動モジュール２０１と；アクティビティポップアップコンポーネントが別のアクティビティコンポーネントによって隠されているかどうかを特定するように構成された特定モジュール２０２と；アクティビティポップアップコンポーネントが別のアクティビティコンポーネントによって隠されている場合、そのアクティビティポップアップコンポーネントを再起動して、ポップアップをシステムのフロントエンドに表示するようにアクティビティポップアップコンポーネントのアクティビティスタックの一番上への移動をトリガするように構成された再起動モジュール２０３と；を含む。
【００９７】
本実施では、特定モジュール２０２は、アクティビティポップアップコンポーネントのｏｎＰａｕｓｅ又はｏｎＳｔｏｐメソッドが呼び出されたかどうかを特定するように；及び、アクティビティポップアップコンポーネントのｏｎＰａｕｓｅ又はｏｎＳｔｏｐメソッドが呼び出されると、アクティビティポップアップコンポーネントが別のアクティビティコンポーネントによって隠されていると特定するように；構成される。
【００９８】
本実施では、再起動モジュール２０３は、アクティビティポップアップコンポーネントのｏｎＰａｕｓｅメソッドが呼び出されると、ｏｎＰａｕｓｅメソッドに基づいてアクティビティポップアップコンポーネントを再起動するように；及び、アクティビティポップアップコンポーネントのｏｎＳｔｏｐメソッドが呼び出されるとアクティビティポップアップコンポーネントのｏｎＰａｕｓｅメソッドが既に呼び出されているかどうかを特定し、ｏｎＰａｕｓｅメソッドが呼び出されていない場合、ｏｎＳｔｏｐメソッドに基づいてアクティビティポップアップコンポーネントを再起動するように；構成される。
【００９９】
本実施では、再起動モジュール２０３は、更に、ｏｎＰａｕｓｅメソッド又はｏｎＳｔｏｐメソッドの呼び出しがアクティビティポップアップコンポーネントに対する無効化イベントによってトリガされているかどうかを特定するように；及び、ｏｎＰａｕｓｅメソッド又はｏｎＳｔｏｐメソッドの呼び出しがアクティビティポップアップコンポーネントの無効化イベントによってトリガされていない場合、ｏｎＰａｕｓｅメソッド又はｏｎＳｔｏｐメソッドに基づいてアクティビティポップアップコンポーネントを再起動するように；構成される。
【０１００】
本実施において、デバイス２０は、ｏｎＰａｕｓｅメソッド又はｏｎＳｔｏｐメソッドの呼び出しがアクティビティポップアップコンポーネントの無効化イベントによってトリガされている場合、アクティビティポップアップコンポーネントを通常通り無効にするように構成された無効化モジュール２０４を更に含む。
【０１０１】
当業者は、本明細書を検討し、本明細書に開示された本開示を実施した後に、本願の別の実施解決策を容易に理解できる。本願は、本願の任意の変形、機能、又は適応性のある変更を含むものとする。これらの変形、機能、又は適応性のある変更は、本願の一般原則に従うものであり、本願では開示されていない技術分野における共通知識又は一般的に用いられる技術手段を含む。本明細書及び実施は単なる実施例に過ぎず、本願の実際の範囲及び精神は、以下の特許請求の範囲によって示される。
【０１０２】
本願は、上で説明した添付図面に示される正確な構造に限定されるものではなく、本願の範囲から逸脱することなく修正及び変更を行うことができることを理解されたい。本願の範囲は、添付の特許請求の範囲によってのみ限定される。
【０１０３】
先の説明は本願の実施の例に過ぎず、本願を限定することを意図したものではない。本願の主旨及び原理から逸脱することなくなされるいかなる改変、均等物による置き換え又は改良も、本願の保護範囲内に含まれる。
【符号の説明】
【０１０４】
２０、３０  アンドロイド（登録商標）ベースのポップアッププロンプトデバイス
２０１  起動モジュール
２０２  特定モジュール
２０３  再起動モジュール
２０４  無効化モジュール
【図１】
2019516161.tif 000003
【図２】
2019516161.tif 000004
【図３】
2019516161.tif 000005
【国際調査報告】
2019516161.tif 000006
2019516161.tif 000007
2019516161.tif 000008
2019516161.tif 000009
2019516161.tif 000010
2019516161.tif 000011