[英]Get ApplicationName from packageName
我試圖插入應用程序的名稱作為首選項的摘要。 我寫了這段代碼,但是它不起作用,因為當我運行應用程序時,在此行中出現NullPointerException崩潰
name.setSummary(Pm.getApplicationLabel(nameApp));
代碼是
value2 = getIntent().getStringExtra("ApplicationName");
PackageManager Pm = getPackageManager();
ApplicationInfo nameApp = Pm.getApplicationInfo(value2, 0);
name.setSummary(Pm.getApplicationLabel(nameApp));
Value2是一個變量的名稱,該變量取自前一個Activity的包的名稱,並且此步驟運行良好,因為包的名稱已正確傳遞和恢復
嘗試這個..
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 = packageManager.getApplicationLabel(pk).toString();
System.out.println("Application name : "+appname);
}
或特定包名稱
final PackageManager pm = getApplicationContext().getPackageManager();
ApplicationInfo ai;
try {
ai = pm.getApplicationInfo(PackageName, 0);
} catch (final NameNotFoundException e) {
ai = null;
}
final String applicationName = (String) (ai != null ? pm.getApplicationLabel(ai) : "(unknown)");
System.out.println("Application name : "+applicationName);
嘗試使用此方法,用於包
Resources appR = ctx.getResources();
CharSequence txt = appR.getText(appR.getIdentifier("app_name",
"string", ctx.getPackageName()));
對於應用程序名稱,使用PackageManager#getApplicationInfo()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.