本文实例讲述了Android简单判断某个APK是否已经安装的方法。分享给大家供大家参考,具体如下:
1 2 3 4 5 6 7 8 9 10 11 |
|
只需要使用该方法检查你需要进行判断的应用程序包名即可:
1 2 3 4 5 6 |
|
检测是否安装了指定应用的方法如下:
private boolean isAvilible( Context context, String packageName ) { final PackageManager packageManager = context.getPackageManager(); // 获取所有已安装程序的包信息 List<PackageInfo> pinfo = packageManager.getInstalledPackages(0); for ( int i = 0; i < pinfo.size(); i++ ) { if(pinfo.get(i).packageName.equalsIgnoreCase(packageName)) return true; } return false; }
然后检测并启动或安装:
if(isAvilible(MainActivity.this, "com.tencent.mm")){ Intent i = new Intent(); ComponentName cn = new ComponentName("com.tencent.mm", "com.tencent.mm.WeiXinActivity"); i.setComponent(cn); startActivityForResult(i, RESULT_OK); } //未安装,跳转至market下载该程序 else { Uri uri = Uri.parse("market://details?id=com.tencent.mm"); // 直接从指定网址下载 // Uri uri = Uri.parse("http://dldir1.qq.com/foxmail/weixin521android400.apk"); Intent it = new Intent(Intent.ACTION_VIEW, uri); startActivity(it); }Intent intent = new Intent();
ComponentName component = new ComponentName("com.tencent.mm", "com.tencent.mm.WeiXinActivity");
intent.setComponent(component);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);