4

画面がオンかオフかをフィルタリングし、画面がオンのときにアクティビティを起動するアプリで作業していますが、アクティビティを起動してもアクティビティがすでに開始されている場合があります。アクティビティが既に開始されているかどうかをアプリ内で知る方法。

アクティビティを開始すると、このコードを追加しました

intent11.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

どうもありがとう。

4

3 に答える 3

2

アクティビティのライフサイクルで変数を設定できると思います

class IAMActivity extends Activity {
    static boolean isStart = false;

  public void onStart() {
     super.onStart();
     isStart = true;
  } 
  public void onStop() {
     super.onStop();
     isStart = false;
   }
 }
于 2012-11-23T18:34:27.657 に答える
1

探しているものは次のとおりです。

 class MyActivity extends Activity {
 static boolean alreadyLaunched = false;

  @Override
  public void onStart() {
     super.onStart();
     alreadyLaunched = true;
  } 

  @Override
  public void onStop() {
     super.onStop();
     alreadyLaunched = false;
  }
}
于 2012-11-23T18:34:33.460 に答える
0

アクティビティを 1 つのインスタンスに制限する場合は、要件に応じてlaunchMode、マニフェスト ファイルで をsingleTaskまたはのいずれかに設定できます。singleInstance

<activity
     android:launchMode="singleTask"
     ...>
...
</activity>

の代わりに新しいインテントを使用singleTaskして配信されます。onNewIntent()onCreate()

詳細については、 <アクティビティ>を参照してください。

于 2012-11-23T20:41:47.807 に答える