32

説明:

  • アクティビティAが表示されます (またはバックグラウンドで)
  • インテントIは、貴重なエクストラを含むブロードキャストによって受信され、アクティビティAを開始するために使用される新しいインテントI2にエクストラを渡します。
  • 結果:アクティビティがバックグラウンドにある場合は、アクティビティを前面に出さないでください

コード:

Intent I2= new Intent(context, MyActivity.class); 
I2.putExtra(..
I2.setFlags(Intent.FLAG_ACTIVITY_MULTIPLE_TASK); // | Intent.FLAG_ACTIVITY_NEW_TASK); 
context.startActivity(I2);

注:マニフェストに「android:taskAffinity」を追加しませんでした..知っておくべきだと思いました

4

3 に答える 3

14

アクティビティをバックグラウンドで実行したい場合は、この行をアクティビティの oncreate に追加します

moveTaskToBack(true);
于 2012-04-04T10:04:36.750 に答える
7

onCreate()メソッドで次の行を使用できます。

moveTaskToBack(true);
于 2012-04-04T10:09:32.187 に答える
4

バックグラウンドでを開始したくありませんActivity。あなたが望むことをするためのより良い方法があります。たとえばActivity、ブロードキャストを受信するように登録することができます。バックグラウンドであってもIntent呼び出しを受けます。変数をinおよびinに設定することで、バックグラウンドにあるonReceive()かどうかを判断できます。次に で、変数が の場合、バックグラウンドにいます。ActivitytrueonPause()falseonResume()onReceive()true

于 2016-06-13T18:41:15.757 に答える