2012-11-01 2 views
0

전자 메일, 연락처 & 등의 몇 가지 기본 안드로이드 응용 프로그램의 정식 이름을 알아야합니다. 정식 이름을 사용하여 시작할 수 있기를 원합니다. 그래서안드로이드에서 deafult 앱 패키지의 정식 이름을 얻는 방법

Intent i = new Intent("com.pacakge.canonicalname"); 

내가 기본 안드로이드 애플 리케이션의 표준 패키지 이름의 목록을 얻을 수있는 아이디어처럼

?

감사

답변

1

난 당신이 요구하는지 무엇을하는 데 사용할 수 있습니다 의심 패키지 매니저 클래스라는 currentToCanonicalPackageNames (문자열 [] 이름)의 방법이있다. 그래서 뭔가가 :

String[] names = {"Email","Contacts"}; 
try{ 
    String[] canonicalNames = context.getPackageManager().currentToCanonicalPackageNames(names); 

    //do whatever you want with canonicalNames, e.g. launch the email app, 
    Intent email = context.getPackageManager().getLaunchIntentForPackage(canonicalNames[0]); 
    context.startActivity(email); 

}catch(NameNotFoundException e){ 
    Log.d("MY ACTIVITY NAME", "Package name(s) not found."); 
} 

나는 이런 일을하고있다.

편집 : 오늘 저녁에 시도했지만 해결책이 원하는 내용이 아닐 수 있습니다. 이러한 앱의 표시 이름 (기술적으로 애플리케이션 라벨이라고 함)으로 시작한다고 가정 할 때 기기에 설치된 모든 앱을 실제로 살펴 봐야 할 수 있습니다. 방금 내 솔루션을 내 블로그에 게시 했으므로 take a look.

관련 문제