特定のアクティビティがアクティブかどうかを判断する簡単な方法はありますか? アクティブなアクティビティに応じて特定の操作を実行したいです。例:
if(activityrunning == activity1)
//do this
else if (activityrunning == activity2)
//do something else
ベストアンサー1
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 を更新したいときに適切なリスナーが利用できるようになります。