安装应用程序后如何传递额外数据

问题描述 投票:0回答:1

我正在 Android Studio 中以编程方式安装应用程序。我正在下载 apk 文件,然后构建并启动

Intent
:

val intent = Intent()
intent.setDataAndType(uri, "application/vnd.android.package-archive")
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION)
intent.action = Intent.ACTION_VIEW
context.startActivity(intent)

主要问题是该应用程序(将要安装的应用程序)需要一个名为

Extra
GUID
。这就是我启动应用程序的方式
Extra
:

val intent = packageManager.getLaunchIntentForPackage(applicationData.packageName)
intent?.let { i: Intent ->
    i.putExtra("GUID", loggedUserSingleton.guid)
    context.startActivity(intent)
}

我需要用它启动应用程序

Extra
但是Android会询问用户是否要在安装后打开它:

Dialog asking the user

我尝试将这行

i.putExtra("GUID", loggedUserSingleton.guid)
放入安装中
Intent
但没用。

是否有不显示该对话框的选项?或者也许让“打开”选项允许您通过

Extra

android android-studio android-intent apk extra
1个回答
0
投票

有一个选项可以不显示该对话框吗?

应用安装程序 UI 的作用取决于 Google 和设备制造商。它会因操作系统版本和设备型号而异。这是你无法控制的。

也就是说,使用

ACTION_VIEW
安装应用程序已被弃用一段时间了。如果您使用
PackageInstaller
,您可能会有更多的控制权。 FWIW,我在
我的这本免费书
本章中介绍了PackageInstaller的使用。

或者也许让“打开”选项允许你通过额外的?

这也不是一个选择。通常,“打开”将执行与启动器相同的操作,并且启动器不会知道有关此额外内容的任何信息。

© www.soinside.com 2019 - 2024. All rights reserved.