如何在android中安装应用程序名称?

时间:2011-07-27 00:33:39

标签: android android-applicationinfo

我已经制作了一个小方法来在android中显示已安装的应用程序名称。但是当我给“name”属性显示异常错误时。当我给“packageName”时,该方法执行完美,并在列表中显示包名称

private void getInstalledApps() {
    // TODO Auto-generated method stub
     PackageManager packageManager=this.getPackageManager();
        List<ApplicationInfo applist=packageManager.getInstalledApplications(0);


        Iterator<ApplicationInfo> it=applist.iterator();
        while(it.hasNext()){
            ApplicationInfo pk=(ApplicationInfo)it.next();

            String appname=pk.name.toString();

            installedapplist.add(appname);
        }

}

在上面的代码中,当我给String appname=pk.packageName.toString()它工作正常但是当我给String appname=pk.name.toString()时,程序抛出异常错误。请帮我解决问题。

2 个答案:

答案 0 :(得分:22)

我的猜测是你的代码抛出了NullPointerException,因为name字段为空。无论如何,你可能想要的是:

String appname = packageManager.getApplicationLabel(pk).toString()

答案 1 :(得分:0)

通过使用此功能,您可以获得已安装的应用包名称和应用名称

List<PackageInfo> packageInfos=getPackageManager().getInstalledPackages(0);
for (PackageInfo packageInfo:packageInfos)
{
        Log.d(TAG,"packageName "+packageInfo.packageName);
        Log.d(TAG,"appname "+getPackageManager().getApplicationLabel(packageInfo.applicationInfo));
}