android,如何获取包名?

Hes*_*sam 11 android class package

在我的应用程序中,我需要知道包名称的名称.当我想在活动中抓住它时我没有问题,但我不能把它带到其他课程中.以下代码在活动中工作,但我不知道为什么它在简单的类中有问题.

String packageName = getPackageName();
Run Code Online (Sandbox Code Playgroud)

在我的课上,我试着编写这段代码:

Context context = getApplicationContext();
String packageName = context.getPackageName();
Run Code Online (Sandbox Code Playgroud)

但编译器说getApplicationContext()这个类的方法是未定义的.

如何在此课程中获取包名?

Sun*_*hoo 14

使用该类的实例,您可以通过使用getClass().getPackage().getName()实例获取包名称

示例代码

ClassA instanceOfClass = new ClassA();
String packageName = instanceOfClass.getClass().getPackage().getName();
System.out.println("Package Name = " + packageName);
Run Code Online (Sandbox Code Playgroud)


Lum*_*mis 12

简单或另一种方法是将Context传递给helper类构造函数:

MyClassConstructor(Context context){

        String packageName = context.getPackageName(); 
}
Run Code Online (Sandbox Code Playgroud)