Android应用程序信息基于它的进程名称

时间:2011-11-12 16:26:28

标签: android process

我正在尝试使用shell的top命令找到有关我发现的应用的一些信息。我只有一个进程名称(包含包名)。图标和应用程序名称将是完美的。我通过谷歌找不到任何合适的灵魂。任何帮助都会受到重视;)

要抢先一步,我使用top,因为这是我发现显示当前处理器使用情况的唯一方法。如果某人熟悉更多API友好的灵魂,我将不胜感激。

我得到的示例流程名称是:

    桌面时钟
  • com.android.deskclock
  • com.creativemobile.DragRacing游戏Drag Racing

2 个答案:

答案 0 :(得分:4)

这里是如何获取详细信息的。由于您具有包名称,因此可以使用它来获取相应的应用程序名称,版本和图标。

List<PackageInfo> packagess = getPackageManager().getInstalledPackages(0);
for(int i=0;i<packagess.size();i++) {
    PackageInfo pack = packagess.get(i);
    if ((!getSysPackages) && (pack.versionName == null)) {
        continue ;
    }

  //this is the application name
    pack.applicationInfo.loadLabel(getPackageManager()).toString();

  //this is the package name
    pack.packageName;

  //this is the version name
    pack.versionName;

  //this is the version code
    pack.versionCode;

  //this is the application icon
    pack.applicationInfo.loadIcon(getPackageManager());
}

答案 1 :(得分:0)

您可以尝试以下代码:

private String getTopActivity() {

        ActivityManager mActivityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
        List<ActivityManager.RunningTaskInfo> RunningTask = mActivityManager.getRunningTasks(1);
        ActivityManager.RunningTaskInfo ar = RunningTask.get(30);
        return ar.topActivity.getClassName().toString();
    }

您必须在AndroidManifest.xml

中授予get任务权限