15

アクティブなアプリケーションをすべて表示するプログラムを作成しようとしています。

どこでも検索しましたが、パッケージ名のみを示すコードしか見つかりませんでした。

マスターがすべてのアクティブなアプリケーション名を表示する方法を教えていただければ、非常に役立ちます

4

3 に答える 3

34

使ってみましたActivityManager.getRunningAppProcesses()か?名前を取得するためのサンプル コードは次のとおりです。

ActivityManager am = (ActivityManager)this.getSystemService(ACTIVITY_SERVICE);
List l = am.getRunningAppProcesses();
Iterator i = l.iterator();
PackageManager pm = this.getPackageManager();
while(i.hasNext()) {
  ActivityManager.RunningAppProcessInfo info = (ActivityManager.RunningAppProcessInfo)(i.next());
  try {
    CharSequence c = pm.getApplicationLabel(pm.getApplicationInfo(info.processName, PackageManager.GET_META_DATA));
    Log.w("LABEL", c.toString());
  }catch(Exception e) {
    //Name Not FOund Exception
  }
}

于 2010-10-05T06:23:18.710 に答える
1

パッケージ名を取得している場合は、PackageManager を使用してアプリケーションに関する追加情報を取得できるはずです。

http://developer.android.com/reference/android/content/pm/PackageManager.html

アプリケーション アイコン、ApplicationInfo および ActivityInfo オブジェクトを取得する直接的な方法があります。頭のてっぺんから、どちらが読み取り可能な名前に誘導するのかわかりませんが、ここのメソッドのいずれかを介して直接アクセスできない場合は、アプリケーションリソースからアクセスできるはずです (このクラスからもアクセスできます)。

于 2010-10-05T07:05:46.580 に答える
-2

この投稿を作成する際にいくつかの誤った仮定を行っていましたが、今ではそれらが間違っていたことに気付きました。- 削除

于 2012-04-24T15:20:35.147 に答える