Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/209.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 获取知道包名称的应用程序名称_Java_Android_Xml - Fatal编程技术网

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。