gpt4 book ai didi

Android APK Intent 链接错误

转载 作者:搜寻专家 更新时间:2023-11-01 08:20:12 25 4
gpt4 key购买 nike

我想实现一个点击事件,提示用户下载 APK 以将我的应用更新到最新版本:

public void f(View view) {
Uri uri = Uri.parse("https://www.example.com/app-release.apk");
startActivity(new Intent(Intent.ACTION_VIEW, uri));
}

我构建应用程序并将其部署到我的手机上。我启动应用程序并单击按钮。浏览器打开。在地址栏中,我可以非常简短地看到 APK 的 URL。然后这个 URL 消失,浏览器转到我在测试前最近访问的任何页面。未下载 APK。

我已确保要安装的 APK 的版本号超过我测试按钮点击的应用程序的版本号。 APK 的 URL 有效,如果我在浏览器中明确访问该 URL,APK 就会安装。我在 list 中启用了 android.permission.INTERNET。在手机上,我允许安装来自未知来源的应用程序,在 Play 商店中,我关闭了对非 Play 商店应用程序的扫描。

知道我做错了什么吗?

编辑 #1:我没有尝试在我的应用程序中实现代码以将 APK 下载到本地存储。我只是想启动一个指向 APK URL 的浏览器窗口。我正在尝试类似于此处描述的方法:

https://juristr.com/blog/2011/02/coding-update-functionality-for-your/

在该解决方案中,提示下载 APK 的代码是:

Intent updateIntent = new Intent(Intent.ACTION_VIEW,
Uri.parse("http://some-public-url/deploy/MyApplication.apk"));
startActivity(updateIntent);

这就是我想做的。但它不会开始下载。 URL 在地址栏中短暂闪烁,但随后浏览器返回到之前所在的任何页面。

编辑 #2:如果我使用调试器和虚拟设备启动它,代码的行为与我预期的一样。如果我将 APK 安装到我的物理设备上,然后单击那里的按钮,它就会出现我上面描述的故障。实体设备和虚拟设备都是 Nexus 5。

我创建了两个版本的 APK,“版本 1”和“版本 2”。我想从版本 1 中触发版本 2 的下载和安装。

最佳答案

我想通了。您要安装的 APK 必须与生成正在尝试下载的实例的 APK 同名。我试图在 APK 的名称中引入版本号,这就是破坏它的原因。非常感谢您提供的所有帮助!

编辑:查看@kelalaka 的回答,更完整。

关于Android APK Intent 链接错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52282862/

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