【问题标题】:how to automatically install an apk如何自动安装一个apk
【发布时间】:2012-03-08 04:00:15
【问题描述】:

有没有办法自动触发刚下载的apk的安装过程?

目前在我下载包后,除非我点击包,否则什么都不会发生,在这种情况下,packege 安装程序会启动!

我下载包的tomcat服务器在web.xml文件中有以下内容:

    <mime-mapping>
        <extension>apk</extension>
        <mime-type>application/vnd.android.package-archive</mime-type>
    </mime-mapping>

【问题讨论】:

  • 嗨,我和你有同样的问题。你找到解决方案了吗?

标签: android


【解决方案1】:

这正是它应该的样子。您的应用程序可以触发下载 apk,但要安装它,用户必须显示它请求的权限并明确同意。您绝对不能“自动触发安装过程”。即使您正在更新已安装的应用。

【讨论】:

  • 然而我想知道“android market”应用程序是如何实现这一点的:你选择一个应用程序,它被下载然后自动安装
  • 即便如此,为了让包安装程序启动用户必须点击新下载的包,有没有办法跳过这个“点击”部分?
  • “但是我想知道“android market”应用程序是如何实现这一点的:你选择一个应用程序,它被下载然后自动安装”......好吧,我们可能会在不同的目的上讨论,因为使用市场对我来说,仍然需要用户输入同意安装条款。一旦用户在其设置中启用了非市场 APK,您就可以实现类似于市场的功能。
  • 差不多就是我想要的。但是我在下载完成后仍然无法开始安装,即使我已经获得了用户安装应用程序的同意。我想单击安装按钮,同意所需的权限,然后使用包安装程序安装应用程序。
【解决方案2】:

调用实际安装 APK 文件的 PackageManager API 需要操作系统级别的权限。这些对开发人员或第 3 方应用程序不可用。

由于 Android Marketplace 是操作系统的一部分,并且具有操作系统级别的权限,它可以在下载开始前提示用户下载和安装应用程序的权限,然后在无需用户输入的情况下继续安装其余部分。

第三方应用无法做到这一点。根据设计,开发人员/应用程序安装 APK 文件的唯一方法是启动 PackageInstaller 活动,这始终需要用户在安装之前执行额外的验证步骤。

【讨论】:

  • 这是否意味着如果我使用自定义系统应用程序制作 ROM,我可以调用这些 API?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-12
  • 1970-01-01
  • 1970-01-01
  • 2012-01-21
相关资源
最近更新 更多