Я хочу сделать отложенную глубокую ссылку из моего приложения на внешнее приложение (приложение, которое я не контролирую) на Android.Он отлично работает, чтобы открыть приложение в playstore, если оно не установлено на устройстве, и работает, если приложение действительно установлено, и открыть намерение в определенном месте приложения.Я пытаюсь выполнить установку приложения, а затем, когда пользователь открывает приложение, перенаправляя его в местоположение, указанное в Intent.
Теперь я проверяю, установлено приложение или нет.и если он установлен, я открываю его с намерением открыть приложение в нужном месте.Эти 2 намерения действуют так, как я ожидаю: сначала открывается магазин воспроизведения и устанавливается приложение, а другое открывает приложение в определенном месте.
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()
}
Однако проблема заключается в том, что когда приложение не установленои пользователь устанавливает и открывает приложение, оно открывается на домашней странице приложения.
Как создать Intent, который сначала устанавливает приложение, а затем приступает к открытию приложения в нужном месте за один раз?Это вообще возможно?Или это ответственность установленного приложения?