Java 获取知道包名称的应用程序名称
我想知道应用程序的名称将有权访问包的名称。我该怎么办?我写了这段代码,但我不确定我做了什么Java 获取知道包名称的应用程序名称,java,android,xml,Java,Android,Xml,我想知道应用程序的名称将有权访问包的名称。我该怎么办?我写了这段代码,但我不确定我做了什么 final PackageManager pm = getApplicationContext().getPackageManager(); ApplicationInfo ai; try { ai = pm.getApplicationInfo(packageName, 0); } catch (final NameNotFoundException e)
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)");
试试这个:
final PackageManager pm = getApplicationContext().getPackageManager();
ApplicationInfo ai;
try {
ai = pm.getApplicationInfo( this.getPackageName(), 0);
} catch (final NameNotFoundException e) {
ai = null;
}
final String applicationName = (String) (ai != null ? pm.getApplicationLabel(ai) : "(unknown)");
你所做的也是正确的。当我尝试将applicationName写入TextView时,您可能希望将其放入一个try-catch中,以防止异常导致应用程序崩溃NullPointerException。