在android

时间:2016-07-15 12:41:04

标签: android

在我的应用中,我使用ComponentName获取已启动应用的包名称,如下所示:

ComponentName componentName = new ComponentName(
                event.getPackageName().toString(),
                event.getClassName().toString()
        );

上面的代码工作正常。所以,问题是我只想要包名,我不想要类名,上面的代码同时给出了包名和类名。我试图删除来自它的event.getClassName().toString()参数,我试图用null替换它,但它给出了异常和崩溃。 那么如何从上面的代码中获取包名呢.. 提前谢谢..

2 个答案:

答案 0 :(得分:0)

您可以从应用程序上下文中获取程序包名称。尝试使用此代码:

try {
    String packageName = getApplicationContext().getPackageName();
} catch (Exception e) {
    e.printStackTrace();
}

答案 1 :(得分:0)

  

所以,问题是我只想要包名,我不想要类名,上面的代码同时给出包名和类名。

这是不可能的。组件是一个类。因此,ComponentName必须指向一个类。我们使用包名称(用于标识包含类的应用程序)和类(用于标识应用程序中的特定组件)的组合。