[英]How to get installed application name in android?
我已經做了一個小方法來在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()
程序拋出異常錯誤。 請幫我解決問題。
我的猜測是你的代碼拋出NullPointerException,因為name
字段為null。 無論如何,你可能想要的是:
String appname = packageManager.getApplicationLabel(pk).toString()
通過使用此功能,您可以獲得已安裝的應用包名稱和應用名稱
List<PackageInfo> packageInfos=getPackageManager().getInstalledPackages(0);
for (PackageInfo packageInfo:packageInfos)
{
Log.d(TAG,"packageName "+packageInfo.packageName);
Log.d(TAG,"appname "+getPackageManager().getApplicationLabel(packageInfo.applicationInfo));
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.