0

現在の活動に到達しようとしています。以下のコードは他の例からのもので、編集後に現在のアクティビティの正しい名前が付けられています。しかし、そこから実際のインスタンスを取得するにはどうすればよいでしょうか?

        ActivityManager am = (ActivityManager) this.getSystemService(ACTIVITY_SERVICE);

     // get the info from the currently running task
     List< ActivityManager.RunningTaskInfo > taskInfo = am.getRunningTasks(1); 

     ComponentName componentInfo = taskInfo.get(0).topActivity;

         // this is the class-name
     componentInfo.getClassName();

ありがとう、マーカス

4

1 に答える 1

0

アクティビティのインスタンスを myApplication に保存したい場合があります。その後、Activity が onResume() に到達するたびに、現在アクティブな Activity を更新できます。しかし、Rupert Rawnsley が言ったように、メソッドを別の場所 (Service、Singleton、Application) に置く方がよいでしょう。

また、ヘルパークラスでアクティビティを使用する場合は、おそらくコンテキストのみが必要になります。この場合、多くの場合、Applications コンテキストも使用できます。それ以外の場合は、コードの再構築を検討することをお勧めします。

于 2012-08-02T07:21:32.537 に答える