2011-04-11 3 views

답변

3
private boolean isAppInstalled(String uri) { 
PackageManager pm = getPackageManager(); 
boolean installed = false; 
try { 
pm.getPackageInfo(uri, PackageManager.GET_ACTIVITIES); 
installed = true; 
} catch (PackageManager.NameNotFoundException e) { 
installed = false; 
} 
return installed; 
} 

그냥 패키지 이름을 전달하여 메소드를 호출 확인해야하는 응용 프로그램의

if(isAppInstalled("com.yourpackage.package")){ 
//app installed 
} 
else{ 
//app not installed 
} 
3

이 설치 패키지 목록을 조회하고 방금 설치 한 찾아보실 수 있습니다 :

List pkgAppsList = context.getPackageManager().getInstalledPackages();

http://developer.android.com/reference/android/content/pm/PackageManager.html#getInstalledPackages%28int%29

+0

하지만 그 의도가 완료되었는지 어떻게 알 수 있습니까 ??? –

+0

내가 생각할 수있는 가장 간단한 방법은 타이머를 설정하고 패키지를 찾을 때까지 또는 패키지가 성공적으로 설치되지 않았다고 결정할 때까지 (예 : 5 회 시도한 후 5 초가 충분해야하기 때문에) 매 60 초마다 PackageManager를 쿼리하는 것입니다. 설치할 앱). 실패한 설치에 대한 정보가 있다면 찾을 수 없으므로 간단한 "그곳에 있습니까?" 접근. – Aleadam

관련 문제