1. ホーム
  2. android

[解決済み] Android:アクティビティが実行されているかどうかを確認するにはどうすればよいですか?

2022-04-23 02:57:07

質問

あるアクティビティがアクティブかどうかを判断する簡単な方法はありますか? どのアクティビティがアクティブかによって、ある処理を行いたいのですが。 例えば

if(activityrunning == activity1)
//do this
else if (activityrunning == activity2)
//do something else

解決方法は?

を使用することができます。 static という変数があります。

class MyActivity extends Activity {
     static boolean active = false;

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

      @Override
      public void onStop() {
         super.onStop();
         active = false;
      }
}

唯一の問題は、互いにリンクしている2つのアクティビティでこれを使用する場合は onStop の後に呼び出されることがあります。 onStart を2番目に表示します。というわけで、簡単に言えば両方が正しいかもしれません。

何をしようとしているのかにもよりますが(サービスから現在のアクティビティを更新する?) アクティビティ内のサービスに静的リスナーを登録すればよいでしょう onStart メソッドを使用すると、サービスがUIを更新したいときに正しいリスナーが利用できるようになります。