gpt4 book ai didi

android - 以编程方式安装 APK - 返回值

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:42:19 27 4
gpt4 key购买 nike

在我的应用程序中,我从我的 Activity 中调用一个 javascript 接口(interface)。在与此界面关联的 webview 中,我要求用户下载并安装 APK。我正在使用“startActivityForResult”开始安装过程(下载文件后)。这是代码:

Intent promptInstall = new Intent(Intent.ACTION_VIEW);
promptInstall.setDataAndType(Uri.fromFile(new File(PATH + "app.apk")), "application/vnd.android.package-archive");
startActivityForResult(promptInstall, ACCEPT_INSTALL);

我在主 Activity 类中使用“onActivityResult”来捕获上述 Activity 的返回值。这是代码:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
Log.d("requestCode, resultCode from Install APK: ", Integer.toString(requestCode) + ", " + Integer.toString(resultCode));
}

我面临的问题是“resultCode”总是返回 0,无论用户是否选择安装该应用程序。我真的需要知道用户是否安装了该应用程序。关于返回值为何始终为 0 的任何想法?

我最后的办法是使用packagemanager在onActivityResult函数中检查应用是否存在,以确定应用是否安装,但我想知道为什么返回值总是0。

非常感谢...

最佳答案

我们开发了一个应用程序市场并面临同样的问题。我们的解决方案是按照您的建议使用数据包管理器。

我研究了一些 Intent 过滤器,因为在安装过程中似乎有一些 Intent 。但是我们无法让它运行。数据包管理器解决方案工作正常,因为您可以检查应用程序版本,这对应用程序更新很重要。

关于android - 以编程方式安装 APK - 返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6157567/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com