2011-04-11 145 views
2

如何知道应用程序是否已成功安装在Android中?我正在使用以下方法来安装apk文件。如何知道应用程序是否已成功安装在Android中

Intent intent = new Intent(); 
intent.setAction(Intent.ACTION_VIEW); 
intent.setDataAndType(Uri.fromFile(file), "application/vnd.android.package-archive"); 
startActivity(intent); 

回答

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

但是如何知道该意图是否已完成? – 2011-04-11 11:44:14

+0

我能想到的最简单的方法是设置一个计时器并每60秒查询一次PackageManager,直到找到包,或者直到您确定它没有成功安装(即5次尝试之后,因为5分钟应该足够多应用程序来安装)。我找不到任何关于安装失败的信息,所以我会去找一个简单的“是吗?”做法。 – Aleadam 2011-04-11 12:04:01

相关问题