我正在尝试使用shell的top
命令找到有关我发现的应用的一些信息。我只有一个进程名称(包含包名)。图标和应用程序名称将是完美的。我通过谷歌找不到任何合适的灵魂。任何帮助都会受到重视;)
要抢先一步,我使用top
,因为这是我发现显示当前处理器使用情况的唯一方法。如果某人熟悉更多API友好的灵魂,我将不胜感激。
我得到的示例流程名称是:
com.android.deskclock
com.creativemobile.DragRacing
游戏Drag Racing 答案 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任务权限