2011-10-18 20 views
5

私のアプリケーションの名前を取得したい。どうすればそれを得ることができますか? ありがとうございます。アンドロイドでアプリケーションの名前を取得する方法は?

+0

ラベル名、パッケージ名、またはapk名をお探しですか?なぜこの情報が必要ですか? – spatulamania

+0

私はアプリケーション名のcozのためにlukingです。私はアプリケーションの起動時に必要です。 – Prachi

+0

実際のapkファイル名は任意であり、何にも影響しません。パッケージ名が不十分なのはなぜですか? – spatulamania

答えて

4

あなたは、デバイスにインストールされているすべてのパッケージのためのアプリケーション名を取得するためのPackageManager#getApplicationInfo()

を使用することができます。 はあなたがApplicationInfoを取得するためにPackageManagerクラスを使用することができ、あなたの現在のContextオブジェクトのCTX

Resources appR = ctx.getResources(); 
CharSequence txt = appR.getText(appR.getIdentifier("app_name", 
"string", ctx.getPackageName())); 
+0

アプリケーション名ではなくパッケージ名が返されます。 – Prachi

+0

PackageManager#getApplicationInfo()? –

+1

ありがとう!私はアプリの名前を得た。 – Prachi

3

を持っていると仮定すると:

final PackageManager pm = context.getPackageManager(); 
ApplicationInfo ai; 
try { 
    ai = pm.getApplicationInfo(packageName, 0); 
} catch (final NameNotFoundException e) { 
    ai = null; 
} 
final String applicationName = (String) (ai != null ? pm.getApplicationLabel(ai) : "(unknown)"); 

EDIT:CharSequence c = pm.getApplicationLabel(pm.getApplicationInfo(info.processName,PackageManager.GET_META_DATA));

これでしょうreturn the application name as defined in <application> tag of its manifest

+0

私はこのコードを試しましたが、アプリケーション名ではなくパッケージ名を返しています。 – Prachi

+0

この行はどうでしょう、CharSequence c = pm.getApplicationLabel(pm.getApplicationInfo(info.processName、PackageManager.GET_META_DATA)); – user370305

10

使用この

String applicationName = getResources().getString(R.string.app_name); 

参考:Resource Types

+0

niceとez :-) –

+0

@Downvotersなぜここにdownvotes?それについてコメントしてみませんか?あなたは男じゃない? –

+1

簡単!ありがとう.. –

0

コンテキスト(RESIDをint型)関数のgetStringを持っていますContext

ので、あなたがこのように簡単にそれを使用することができます。

context.getString(R.string.app_name); 
関連する問題