【问题标题】:How to get Application labels of Installed applications如何获取已安装应用程序的应用程序标签
【发布时间】:2011-11-17 12:48:27
【问题描述】:

我的问题是如何获取所有安装在 android 上的应用程序的标签。 我正在尝试

pm = (PackageManager)getApplicationContext().getPackageManager();
        List<ApplicationInfo> list = pm.getInstalledApplications(0);
        for (ApplicationInfo appInfo : list) {
        try {
                deviceApps.add((String) appInfo.loadLabel(pm));
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }

但它不起作用。请帮助我。 问候

【问题讨论】:

    标签: android process


    【解决方案1】:

    完整代码如下:

    ArrayList<PackageInfo> res = new ArrayList<PackageInfo>();
    PackageManager pm = ctx.getPackageManager();
    List<PackageInfo> packs = pm.getInstalledPackages(0);
    
    for(int i=0;i<packs.size();i++) {
        PackageInfo p = packs.get(i);
        String description = (String) p.applicationInfo.loadDescription(pm);
        String  label= p.applicationInfo.loadLabel(pm).toString();
        String packageName = p.packageName;
        String versionName = p.versionName;
        String versionCode = p.versionCode;
        String icon = p.applicationInfo.loadIcon(pm);
    //Continue to extract other info about the app...
    }
    

    注意:将此权限添加到清单文件中:

    <uses-permission android:name="android.permission.GET_TASKS" />
    

    【讨论】:

    • 请解释一下标签本地化是什么意思?也检查这个链接:developer.android.com/reference/android/content/pm/…
    • 我的意思是它是语言环境中的应用程序名称吗?还是某种默认(英语?)Applabel?如果不是,如何访问不同语言的应用标签?
    • 我只尝试过使用英语,尝试使用另一种语言,我想它会给出想要的结果。
    猜你喜欢
    • 2017-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-04
    相关资源
    最近更新 更多