2016-10-11 13 views
4

私はいくつかのプロジェクトに含まれるアンドロイドモジュールを作成しています。今私は(実行時に)アプリケーション名を取得する必要があります。マニフェストのアプリケーションの名前はandroid:labelに設定されています。明らかに私はgetResources().getString(R.string.app_name)を使用できません。なぜなら、私はこのライブラリを使用するプロジェクトのリソースにアクセスすることができないからです。別の方法がありますか? 私はgetApplicationInfo().nameを試しましたが、それはnullで、私は他のものを見つけることができません。アンドロイド:モジュール内部からアプリケーション名を取得

答えて

3

私は名前。)(getApplicationInfoを試してみましたが、それはname<application>android:name属性から来て、あなたがあなたのアプリケーションでカスタムApplicationサブクラスを使用していないためであること

nullです。

他に何も見つかりません。

Call loadLabel() on the ApplicationInfo<application>または任意の成分(例えば、<activity>)ためandroid:label値を取得するために、パラメータとしてPackageManagerを渡します。

+0

ありがとう、 'getApplicationInfo()。loadLabel(getPackageManager())'は私が望むものを正確に行います – Ginso

0

モジュールがアプリケーションに含まれているので、アプリケーションでそのメソッドの1つを呼び出しているようです。そのような場合は、このメソッドでパラメータを追加してアプリケーションのコンテキストを取得することを提案します。次に、モジュール内のcontext.getResources()。getString(R.string.app_name)を使用してアプリケーション名を取得できます。

関連する問題