繁体   English   中英

下载.apk文件时打开android软件包安装程序

[英]Open android package installer upon download of .apk file

有没有办法通知Android OS在下载.apk文件时打开软件包安装程序?

也许是Content-Type? 或者可能是一个APK特定的url协议,比如apk://apk.location

您是在自己的应用程序中自行下载,还是在外部应用程序中创建某些行为?

我不认为您可以在应用程序外部下载时触发​​行为(因为用户必须选择下载的文件才能打开它),但是如果您自己处理下载,我认为您想要这篇关于如何以编程方式安装应用程序的帖子。

编辑:解决你的评论,其中你说你正在写一个网站,并希望能够强制APK由本机应用程序打开:我可以想办法做类似的事情,但你必须处理在本机应用程序中下载,因为您无法让浏览器为您进行下载。

您需要注册您的原生应用程序,以便以您选择的任何格式接收带有URI的ACTION_VIEW Intent ; 我推荐使用像yourappname://localhost/escaped_download_url_to.apk这样的东西。 在您的Activity ,从Intent的URI获取路径并获取它的最后一部分(URI处理分为几个组件:协议,主机和路径)。 根据需要进行Unescape,然后在应用程序中手动开始下载,然后在完成后,使用我提供的链接从您的应用程序放置的任何地方打开下载的APK。

只要您确保您的移动网站为yourappname://localhost/escaped_download_url_to.apk提供了一个href ,您就能够触发此行为。 当用户单击该链接时,它应该提供一个对话框来选择用于打开它的应用程序(如果他们有多个应用程序能够这样做),当他们选择您的应用程序时将启动您使用Intent注册的Activity过滤。

编辑第二个:您可能不需要执行任何转义的URI; 只要您的应用程序注册接收具有该协议的Intent,只需使用您在自己的帖子中建议的伪造的URI协议即可。 yourappname://yourserver.com/my/location.apk可行。 真正重要的是能够从URI中提供给应用程序的数据中提取下载URL。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM