我们需要知道要跳转应用的包名,可以用上一章的反编译取到。接下来,我们要判断手机中是否已经安装了该应用。可以用isAppInstalled(String packageName)进行判断。
public boolean isAppInstalled(String packageName) {
try {
getPackageManager().getPackageInfo(packageName, 0);
return true;
} catch (PackageManager.NameNotFoundException e) {
return false;
}
}
如果手机上已安装第三方应用,我们就直接传包名打开;如果没有我们可以传包名跳转到应用市场(应用宝,华为市场等等)进行下载安装。
if (isAppInstalled(packageName)) {
startActivity(getPackageManager().getLaunchIntentForPackage(packageName));
} else {
downloadApp(packageName)
}
跳转到应用市场进行下载。
public void downloadApp(String packageName){
Uri uri = Uri.parse("market://details?id=" + packageName);
Intent goToMarket = new Intent(Intent.ACTION_VIEW, uri);
try {
startActivity(goToMarket);
} catch (ActivityNotFoundException e) {
}
}