延迟深度链接到android上的外部应用程序
我想在android上做一个从我的应用程序到外部应用程序(我无法控制的应用程序)的延迟深度链接。 如果设备上没有安装应用程序,则可以在playstore中打开该应用程序,如果确实安装了该应用程序并在应用程序中的特定位置打开了一个intent,则可以完美地实现这一点。 我正在努力安装应用程序,然后当用户打开应用程序时,重定向到意图指定的位置 我现在的做法是检查应用程序是否已安装,如果已安装,我打开它的目的是在所需的位置打开应用程序。这两个意图与我预期的一样:首先打开play store并安装应用程序,另一个在特定位置打开应用程序延迟深度链接到android上的外部应用程序,android,android-intent,kotlin,android-tv,android-deep-link,Android,Android Intent,Kotlin,Android Tv,Android Deep Link,我想在android上做一个从我的应用程序到外部应用程序(我无法控制的应用程序)的延迟深度链接。 如果设备上没有安装应用程序,则可以在playstore中打开该应用程序,如果确实安装了该应用程序并在应用程序中的特定位置打开了一个intent,则可以完美地实现这一点。 我正在努力安装应用程序,然后当用户打开应用程序时,重定向到意图指定的位置 我现在的做法是检查应用程序是否已安装,如果已安装,我打开它的目的是在所需的位置打开应用程序。这两个意图与我预期的一样:首先打开play store并安装应用程
fun start() {
if (isAppInstalled()) {
startAppWithIntent(deepLink)
} else {
goToPlayStore()
}
}
private fun isAppInstalled(): Boolean =
activity.packageManager.getLaunchIntentForPackage("com.myapp.xx") != null
private fun startAppWithIntent(deepLink: String) {
val startAssetIntent = Intent(Intent.ACTION_VIEW, Uri.parse(deepLink))
activity.startActivity(startAssetIntent)
}
private fun goToPlayStore() {
val goToPlayStoreIntent = Intent(
Intent.ACTION_VIEW, Uri.parse("https://play.google.com/store/apps/details?id=com.myapp.xx")
).apply {
setPackage("com.android.vending")
}
activity.startActivity(goToPlayStoreIntent)
activity.finish()
}
但问题是,当应用程序未安装且用户安装并打开应用程序时,它会在应用程序的主页上打开
我如何构建一个意图,首先安装应用程序,然后在所需位置一次性打开应用程序?有可能吗?或者这是安装的应用程序的责任?这是@pantos27的说法。似乎接收应用程序需要有一个
BroadcastReceiver()
,当安装应用程序时,它可以监听事件。
有关更多详细信息,请参见@pantos27的说法是正确的。似乎接收应用程序需要有一个BroadcastReceiver()
,当安装应用程序时,它可以监听事件。
有关更多详细信息,请参见当您点击sharedLink
时,如果应用程序未安装在设备上,Android将不会显示该应用程序。你的问题有点让人困惑。你能提供更多关于你的需求的详细信息吗?另一个应用程序应该处理一个特定的deeplink,就像这样是的,@pantos27所说的是正确的。似乎接收应用程序需要有一个BroadcastReceiver()
,它可以在安装应用程序时侦听事件。当您点击sharedLink
,如果应用程序未安装在设备上,Android将不会显示应用程序。你的问题有点让人困惑。你能提供更多关于你的需求的详细信息吗?另一个应用程序应该处理一个特定的deeplink,就像这样是的,@pantos27所说的是正确的。似乎接收应用程序需要有一个BroadcastReceiver()
,它可以在安装应用程序时监听事件。