【问题标题】:How to automatically start the android apk install process when user clicks a download link on an website当用户单击网站上的下载链接时如何自动启动 android apk 安装过程
【发布时间】:2013-06-11 22:27:05
【问题描述】:

根据developer.android.com

http://developer.android.com/tools/publishing/publishing_overview.html#publishing-website

When users browse to the download link from their Android-powered 
devices, the file is downloaded and Android system automatically 
starts installing it on the device. However, the installation process 
will start automatically only if the user has configured their 
Settings to allow the installation of apps from unknown sources.

似乎可以在没有用户交互的情况下自动启动安装过程。我已选中该框以允许来自未知来源的应用程序,但我仍然必须手动触发安装过程。我看到很多关于同一主题的帖子,这似乎与官方网站上所说的相反:

How to install APK automatically when the file download is complete (hosted on private)

how to automatically install an apk

How to automatically launch the Android installer after downloading the apk?

其他人似乎建议让安装过程自动发生的唯一方法是通过已安装的应用程序:

Android: install .apk programmatically

我的要求是用户只需点击私有部署网站上的一个链接,应用程序安装将自动触发,用户无需执行任何其他操作。

目前,当我单击部署网站中的链接时,它会下载 apk 文件,我需要手动启动安装过程。

这些答案都没有真正让我得到我需要的东西,官方网站上的说明会很完美,因为它不需要任何其他东西,除非我无法让它工作,安装另一个自定义应用程序来安装原版应用程序在尝试安装时也会遇到同样的问题。

我们还在内部部署 iOS 应用程序用于测试目的,我们这样做的方式是通过清单文件链接

http://help.apple.com/iosdeployment-apps/mac/1.1/#app43ad871e

页面中的示例链接: <a href="itms-services://?action=download-manifest&url=http://example.com/
manifest.plist">Install App</a>

是否需要执行一些额外的步骤才能使官方 android 网站上的说明正常工作?也许有一种方法可以让下载链接表现得像 iOS 清单文件链接?或者也许还有其他方法可以满足我的要求?

谢谢。

【问题讨论】:

    标签: android deployment installation


    【解决方案1】:

    我的要求是用户只需点击私有部署网站上的一个链接,应用程序安装将自动触发,用户无需执行任何其他操作。

    这取决于 Web 浏览器的实现,而不是您。我使用的网络浏览器通过DownloadManager 下载APK,然后在下载完成后显示Notification,点击Notification 抽屉条目开始安装过程。虽然没有什么可以阻止浏览器自动调用启动安装过程的ACTION_VIEWACTION_PACKAGE_INSTALL Intent,但这取决于浏览器的作者。

    是否需要执行一些额外的步骤才能让官方 android 网站上的说明正常工作?

    找到一些可以按照你想要的方式运行的浏览器。

    【讨论】:

    • 您描述的浏览器工作方式也是我测试设备中的浏览器(默认浏览器(chrome))的工作方式,我必须通过通知手动触发安装。但这使官方android网站所说的无效(installation will start automatically)。有没有办法实现默认浏览器的默认操作?
    • @George:“但这会使官方 android 网站所说的无效(安装将自动开始)” - 文档已过时。自 Android 2.2 IIRC 以来,库存的 AOSP 浏览器应用程序尚未完成自动安装,无论如何这可能不是用户的默认浏览器。 “有没有办法实现默认浏览器的默认操作?” -- 有成千上万的 Android 设备,带有少数“默认浏览器”应用程序。它们都不需要自动安装 APK,尽管 SDK 文档中的一条过时声明可能暗示了这一点。
    最近更新 更多