【问题标题】:Android application info based on it's process name基于进程名称的 Android 应用程序信息
【发布时间】:2011-11-12 16:26:27
【问题描述】:

我正在尝试查找有关使用 shell 的 top 命令找到的应用程序的一些信息。我所拥有的只是一个进程名称(包含包名称)。图标和应用名称将是完美的。我无法通过谷歌找到任何合适的灵魂。任何帮助将不胜感激;)

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

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

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

【问题讨论】:

    标签: android process


    【解决方案1】:

    您可以在此处获取详细信息。既然有了包名,就可以用它来获取对应的应用名称、版本、图标。

    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());
    }
    

    【讨论】:

    • 为了确保我理解正确,我们的想法是遍历已安装的包以查找我从top 命令获得的包,对吧?听起来很好吃,我下午下班后去看看;)
    • @Moyshe 是的。您可以将它们保存在 HashMap 或您想要的任何内容中。
    • 成功了!非常感谢你!麦芽酒是属于你的;)
    【解决方案2】:

    你可以试试下面的代码:

    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 任务的权限

    【讨论】:

    • 这是我第二个问题的答案吧?因为它给出了类名而不是应用程序名。不幸的是,我发现它和我的 proc 名称一样没用。此外,如果这是对我的第二个问题的回答,处理器统计数据是否可用?或者我在这里遗漏了什么?也许我没明白你的意思?
    猜你喜欢
    • 2013-04-10
    • 1970-01-01
    • 2012-02-27
    • 1970-01-01
    • 2015-07-21
    • 1970-01-01
    • 2021-09-21
    • 1970-01-01
    • 2018-08-25
    相关资源
    最近更新 更多