2

ポートで UDP ソケットを使用するアクティビティがあります。ホームボタンを押すと、アクティビティがバックグラウンドになり、OnPause()およびOnStop()メソッドが呼び出されます。UDPパケットを受信したら、アクティビティを再開したいと思います。他の投稿を読んで、私がしなければならないことを理解しています:

  1. android:launchMode="singleTask"アクティビティを(またはsingleInstance)として宣言します。
  2. 次に、アクティビティを再開したいとき:
インテント インテント = 新しいインテント(this.getApplicationContext(), myActivity.class);

Intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);

startActivity(意図);

この解決策は私には機能しません。への呼び出しstartActivity(intent)は、フォアグラウンドでのアクティビティを表示せず、呼び出されませんonResume()

次のフラグは仕事をしますが、タスクをクリアして新しいタスクを再開したくありません。

Intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
4

1 に答える 1