Android - 如何在应用程序类中读取包名称[重复]

Posted

技术标签:

【中文标题】Android - 如何在应用程序类中读取包名称[重复]【英文标题】:Android - How to read Package Name in Application Class [duplicate] 【发布时间】:2015-01-03 01:04:50 【问题描述】:

如何在应用程序类中读取包名?有没有可能。

我尝试如下。

..... this.packagename;
Context context = getApplicationContext();
String packageName = context.getPackageName();

没有任何作用

【问题讨论】:

你把这段代码放在哪里了? 使用 Gradle? String packageName = BuildConfig.APPLICATION_ID; 请完整而准确地解释“没有任何作用”是什么意思。您的具体症状是什么? 在应用程序类构造函数中我需要读取应用程序包名称。 【参考方案1】:

在应用程序类构造函数中我需要读取应用程序包名称

摆脱Application 构造函数。你不应该有一个,就像你没有在 Activity 上放置一个构造函数一样。

Application 中的入口点是 onCreate()。在链接到super.onCreate() 中的超类之后,getPackageName() 应该可以工作。 在那之前肯定行不通,比如你错误地创建的构造函数。

正如 Blundell 所说,如果您使用 android Studio 或 Gradle for Android,欢迎您在任何地方使用 BuildConfig.APPLICATION_ID

【讨论】:

【参考方案2】:

放在Application类的onCreate()中

【讨论】:

我也试过了……不行【参考方案3】:
public class myapp implements application

public class exeapp implements myapp   

假设 myapp 是另一个自定义应用程序类。

通过在新应用程序类中实现 myapp 类,可以在 onCreate() 中读取包名

【讨论】:

以上是关于Android - 如何在应用程序类中读取包名称[重复]的主要内容,如果未能解决你的问题,请参考以下文章

android,如何获取包名?

Android - 包名称约定

IBM Worklight 5.0.5.2 - 如何更改 Android 包名称

如何避免已发布的 android 应用程序显示应用程序包名称

我将如何获取可以在 android 上成为 Home 的应用程序的包名称

更改升级后的 Android 应用程序的包名称