0

まず、質問タイトルの「文脈」ですみません、どの言葉を使えばいいのかわかりませんでした。別のアプリケーションから URL をクリックしてアプリを正常に起動しましたが、タスク マネージャーを起動すると、アプリケーションが実際には読み込まれていないことに気付きました。呼び出し元のアプリがアクティビティを保持しています。方法を教えてください:

  • 別の「コンテキスト」でアプリを起動します (もう一度言いますが、どちらが良いでしょうか?)
  • アプリが既に読み込まれている場合にアプリをリロードできるようにします (再起動など)。

どうもありがとう。

4

2 に答える 2

1

AndroidManifest.xmlの「 launchMode」属性を「singleTask」または「singleInstance 」に設定することで、動作を変更できます。どちらも、アクティビティが新しいタスクのルートとして作成されます。ただし、アクティビティが既に存在する場合は再起動しません。代わりに、コールバックを処理する必要があります。Activity.onNewIntent(Intent intent)

launchMode の詳細については、http://developer.android.com/guide/topics/manifest/activity-element.html#lmode を参照してください

于 2013-11-09T01:38:34.057 に答える
1

launchModeKai が言及したことに加えて、アプリの構造に応じて、taskAffinityとも参照する必要があります。allowTaskReparenting

これは、アプリの説明と一致するように思われるそこからの抜粋です。

たとえば、電子メール メッセージに Web ページへのリンクが含まれている場合、リンクをクリックすると、そのページを表示できるアクティビティが表示されます。このアクティビティはブラウザ アプリケーションによって定義されますが、電子メール タスクの一部として起動されます。ブラウザ タスクに再親化されている場合は、ブラウザが次に前面に出たときに表示され、電子メール タスクが再び前面に出たときに表示されなくなります。

于 2013-11-09T06:53:36.580 に答える