Androidで現在表示されているアクティビティのインスタンスを取得するにはどうすればよいですか? ActivityManager を使用してタスクのリストを取得し、それをいじることで、アクティビティの ComponentName を取得できることを読みましたが、それは災害のレシピです。
最上位のアクティビティのインスタンスを取得する方法はありますか、またはアクティビティが私のものではなく、アクセスできない場合は null だけですか?
Androidで現在表示されているアクティビティのインスタンスを取得するにはどうすればよいですか? ActivityManager を使用してタスクのリストを取得し、それをいじることで、アクティビティの ComponentName を取得できることを読みましたが、それは災害のレシピです。
最上位のアクティビティのインスタンスを取得する方法はありますか、またはアクティビティが私のものではなく、アクセスできない場合は null だけですか?
現在表示されているアクティビティのインスタンスを取得するには、そのコンテキストを次のように取得します。
Context mContext = getApplicationContext();
また
mContext = this;
このアクティビティ関連のタスクに使用します。
または、別のアクティビティのインスタンスを取得します。静的な ActivityClass インスタンスを別の場所に保持し、getter setter を使用してこのインスタンスを次のように設定します。
public void setActivity(MyActivity activity) {
myActivity = activity;
}
public MyActivity getMyActivity() {
return myActivity;
}