2016-10-11 157 views
4

我正在写一个android模块,我将在我的一些项目中包含它。现在我需要获取应用程序名称(在运行时),例如在清单中为应用程序设置的名称为android:label。显然,我不能使用getResources().getString(R.string.app_name),因为我无法访问使用此库的项目资源。有另一种方法吗? 我试过getApplicationInfo().name,但那是null,我找不到其他东西。android:从模块中获取应用程序名称

回答

3

我试过getApplicationInfo()的名字,但就是空

这是因为name来自android:name属性上<application>,和你是不是在你的应用程序中使用自定义Application子类。

我找不到其他东西。

Call loadLabel() on the ApplicationInfo,传递一个PackageManager作为参数,来检索android:label值用于<application>或任何组件(例如,<activity>)。

+0

谢谢你,'getApplicationInfo()。loadLabel(getPackageManager())'正是我想要的 – Ginso

0

该模块包含在应用程序中,所以我想你正在调用它的应用程序中的一个方法。如果是这种情况,我建议您在此方法中添加一个参数以获取应用程序的上下文。然后,您可以在模块中使用context.getResources()。getString(R.string.app_name)来获取应用程序名称。

相关问题