檢測是否安裝了指定應用的方法如下:
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); }