Launch external app from current application
make function intent to launch external App
// function launch intent to package name app
private fun launchApp(appPackageName: String) {
if (isAppInstalled(appPackageName)) {
val intent: Intent = this.packageManager?.
getLaunchIntentForPackage(appPackageName)!!
startActivity(intent)
} else {
try {
startActivity(
Intent(
Intent.ACTION_VIEW,
Uri.parse("market://details?id=$appPackageName")
)
)
}
// catch if application doesn't installed then open application page on playstore
catch (exception: ActivityNotFoundException) {
startActivity(
Intent(
Intent.ACTION_VIEW,
Uri.parse("https://play.google.com/store/apps/details?id=$appPackageName")
)
)
}
}
}
create function to check if application is installed or not
private fun isAppInstalled(packageName: String): Boolean {
return try {
val packageManager = packageManager
packageManager.getPackageInfo(packageName, 0)
true
} catch (e: PackageManager.NameNotFoundException) {
false
}
}
change appPackageName with package name destination app
private var appPackageName = "com.google.android.youtube"