检查包名–假如已经安装(打开)–没有安装(安装指定)
1.检查
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;
}
2.启动或安装
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);
} 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);
}