我知道Context.getApplicationContext()View.getContext()的可用性,通过它们我可以实际调用Context.getPackageName()来检索应用程序的程序包名称。

如果我从可使用ViewActivity对象的方法调用,它们会起作用,但是如果我想从没有ViewActivity的完全独立的类中找到包名称,是否有办法做到这一点(直接或间接地) )?

最佳答案

一个想法是在您的主要 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/

10-08 23:54