java - 获取知道包名称的应用程序名称

标签 java android xml

我想知道应用程序的名称是否可以访问包名称。我能怎么做?我写了这段代码,但我不确定我做了什么。

    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)");

你做的也是对的。您可能只想将其放入 try catch 中以防止导致应用程序崩溃的异常

关于java - 获取知道包名称的应用程序名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20406937/

相关文章:

xml - 错误 : It was detected that X is in namespace Y, 但此命名空间中的组件无法从架构文档中引用

java - 使用 HttpUrlConnection 将 JSONArray 发布到服务器

android - Flutter 未检测到 Android SDK

java - Android 在打开应用程序时播放音乐

java - 如何设置ImageResource列表<Item>

xml - 使用 XPath 比较多个同名元素的值

c++ - 如何以优雅的方式转储 XML?

java - 如何在收到用户输入后执行打印语句

java - 在抽象父类(super class)上找不到继承的注释

java - 我如何知道映射器(或化简器)是否在Hadoop中并行运行?