在我的应用程序中,有一个重定向到另一个应用程序的链接。例如 YouTube。我将使用 Youtube 应用程序 ID 将用户重定向到 Youtube 应用程序
https://play.google.com/store/apps/details?id=com.google.android.youtube
但是,它将重定向到 Google Play 商店,而不是打开 Youtube 应用程序。即使我已经在手机中安装了该应用程序。我怎样才能做到这一点?
如果您想将用户重定向到设备中安装的另一个应用程序,则必须使用
LaunchIntentForPackage
,而不是打开您正在执行的任何链接。您正在打开 YouTube 的 Play 商店链接,这显然会将用户重定向到 Play 商店,您可以使用下面的代码来执行相同的操作
val intent = packageManager.getLaunchIntentForPackage("com.google.android.youtube")
if (intent != null) {
// YouTube app is installed, launch it
startActivity(intent)
} else {
// YouTube app is not installed, open Play Store
val playStoreIntent = Intent(Intent.ACTION_VIEW, Uri.parse("https://play.google.com/store/apps/details?id=com.google.android.youtube"))
startActivity(playStoreIntent)
}
如果条件将检查您将用户重定向到的应用程序是否安装在设备中,如果是,则它将使用应用程序 ID 或包名称打开应用程序,否则它将打开所提供应用程序的 Play 商店链接。