如何获取已安装应用程序的应用标签

3

我的问题是如何获取安装在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();
            }
        }

但是它不起作用。请帮助我。 谢谢。
1个回答

9

以下是完整代码:

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" />

请解释一下“标签本地化”是什么意思?同时请查看此链接:http://developer.android.com/reference/android/content/pm/PackageInfo.html - Vineet Shukla
1
我的意思是它是本地语言中的应用程序名称吗?还是某种默认(英文?)应用标签?如果不是,那么如何访问不同语言的应用标签? - seb
我已经尝试过只使用英语,试试其他语言,我猜会得到期望的结果。 - Vineet Shukla

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接