2016-10-11 85 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)來獲取應用程序名稱。

相關問題