最近公司android 项目有这个根据APP 包名判断手机是否有这个APP 如果有跳转到APP 如果没有根据下载地址跳转浏览器下载此应用 如何检查手机是否有这个APP 呢 上代码
private fun isInstallQQWEICHAT(context: Context?, packageNames: String): Boolean {
//传入包名 ,会很坑的一点 包名不能有空格 如果后端录入数据的时候有空格 的话 检查会失败 所有这里用了 trim()
return isAppInstalled(context, packageNames.trim())
}
private fun isAppInstalled(context: Context?, PackageName: String?): Boolean {
try {
val packageManager: PackageManager? = context?.packageManager
val info = packageManager?.getPackageInfo(PackageName!!, 0)
if (info != null) {
return true
}
} catch (e: Exception) {
/// loge(e);
}
return false
}
如果有这个app 返回true
val intent = Intent()
// 一个参数是 APP 包名 ,第二个是跳转APP 起始的Activity 页面,PS:不能直接用startActivity 了 高版本android 的话
val componentName = ComponentName(packageNames.trim(), startActivity.trim())
intent.component = componentName
ContextCompat.startActivity(this, intent, null)