2011-10-18 5 views
5

신청서의 이름을 받고 싶습니다. 어떻게해야합니까? 미리 감사드립니다. 안드로이드에서 응용 프로그램의 이름을 얻는 방법은 무엇입니까?

+0

레이블 이름, 패키지 이름 또는 apk 이름을 찾으십니까? 왜이 정보가 필요한가요? – spatulamania

+0

나는 응용 프로그램을 시작할 때 필요한 응용 프로그램 이름을 coz에 대한 luking 오전. – Prachi

+0

실제 apk 파일 이름은 임의적이며 아무 영향을 미치지 않습니다. 패키지 이름이 불충분 한 이유는 무엇입니까? – spatulamania

답변

4

당신은 장치에 설치된 모든 패키지의 응용 프로그램 이름을 얻기 위해 패키지 매니저 # getApplicationInfo()

를 사용할 수 있습니다. 당신은 ApplicationInfo을 얻기 위해 PackageManager 클래스를 사용할 수 있습니다 당신은 당신의 현재 상황에 맞는 객체 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)"); 

편집 : 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); 

참조 : Context

그래서 당신이 이런 식으로 쉽게 사용할 수 있습니다 Resource Types

+0

nice and ez :-) –

+0

@Downvoters 왜 여기에 downvotes? 그것에 대해 의견을 게시하지 않는 이유는 무엇입니까? 너는 남자가 아니니? –

+1

쉬운 하나! 고마워 .. –

0

상황이 기능에는 getString을 (RESID를 INT)이있다.

context.getString(R.string.app_name); 
관련 문제