我写了一个小方法来显示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()
时程序会抛出异常错误。请帮我解决这个问题。
pk.name
吗? 可能是因为清单文件没有声明android:name
属性。当应用程序需要定义自己的Application
子类时,才会使用该名称。 - Ted Hopp