我知道Context.getApplicationContext()和View.getContext()的可用性,通过它们我可以实际调用Context.getPackageName()来检索应用程序的程序包名称。
如果我从可使用View
或Activity
对象的方法调用,它们会起作用,但是如果我想从没有View
或Activity
的完全独立的类中找到包名称,是否有办法做到这一点(直接或间接地) )?
最佳答案
一个想法是在您的主要 Activity 中有一个静态变量,实例化为程序包名称。然后只需引用该变量即可。
您将必须在主要 Activity 的onCreate()
方法中对其进行初始化:
全局类:
public static String PACKAGE_NAME;
然后..
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
PACKAGE_NAME = getApplicationContext().getPackageName();
}
然后,您可以通过
Main.PACKAGE_NAME
访问它。关于android - 如何从任何地方获取软件包名称?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6589797/