0

ここに私の問題があります:

  • 私は活動Aにいます
  • アクティビティ A が新しいアクティビティ B を開始して番号を呼び出します (Intent.ACTION_CALL)
  • どうすればアクティビティ A を再開できますか - アクティビティ B を終了したくありません。単にアクティビティ A を前に出したいだけです

現時点では、呼び出しが行われたときにアクティビティ A の新しいインスタンスを開始できる broadcastReceiver があります。そこから「FLAG_ACTIVITY_SINGLE_TOP」でアクティビティ A を開始すると、エラーが発生します

Calling startActivity() from outside of an Activity
context requires the FLAG_ACTIVITY_NEW_TASK flag.
Is this really what you want?

しかし、新しいタスクは必要ありません。アクティビティ A を再開したいです

どうもありがとう!

編集:おそらく、戻るボタンのクリックをシミュレートできますか?

4

2 に答える 2

1

マニフェストのユースケース(アクティビティを開始するタスクを持たないBroadcastReceiver)を考慮すると、必要な処理を実行するsingleTask必要があります。

「singleTask」システムは新しいタスクを作成し、新しいタスクのルートでアクティビティをインスタンス化します。ただし、アクティビティのインスタンスが別のタスクにすでに存在する場合、システムは、新しいインスタンスを作成するのではなく、onNewIntent()メソッドの呼び出しを介してインテントを既存のインスタンスにルーティングします。アクティビティのインスタンスは一度に1つだけ存在できます。

注:アクティビティは新しいタスクで開始されますが、[戻る]ボタンを押すとユーザーは前のアクティビティに戻ります。

取得元:http : //developer.android.com/guide/components/tasks-and-back-stack.html

于 2013-02-14T08:22:13.620 に答える
0

使ってみましたFLAG_ACTIVITY_REORDER_TO_FRONTか?

http://developer.android.com/reference/android/content/Intent.html#FLAG_ACTIVITY_REORDER_TO_FRONT

それはまさにあなたが必要とすることをするようです。

于 2013-02-13T16:00:07.733 に答える