如何在应用程序设置过程中检查应用程序的更新

时间:2016-05-23 21:20:23

标签: javascript android

我正在创建一个应用程序,使Android设备基本上以kiosk模式运行。 (是的,自愿)。部分应用程序需要能够检查自身的新更新是否可用。我做了几个小时的研究,但我有很多问题。我的问题是: 1)我试图在dropbox上托管文件,但是当.apk下载时(如果连接没有超时)没有任何反应。没有提示安装/更新应用程序。为什么是这样? 2)如果请求超时,我需要在代码中包含哪些内容才能重试请求? 3)我怎么才能托管文件?它应该通过Dropbox,mediafire还是通过个人专用服务器?

由于我刚刚开始这个自动更新的想法,我认为其他许多人也在我的手中。 谢谢大家!

2 个答案:

答案 0 :(得分:0)

如果您想手动执行此操作,则需要进行一些工作,但这是可能的。一般来说,你需要:

  • 下载APK(从您想要托管的地方)。将APK保存为 一个文件 - 在您的应用程序的私有数据区域或外部 存储。有questions on SO来帮助解决这个问题。
  • 检查APK是否已从当前版本更改 - a APK文件数据的简单SHA-1哈希应该有效。比较它 反对当前安装的APK文件的哈希值(你可以得到 已安装的APK位置通过ApplicationInfo.sourceDir
  • 如果下载的APK存储在您的私人数据中 区域,将文件标记为世界可读 - 这很重要,因为 如果不能,Android Package Installer将无法安装App 访问它。
  • 如果APK文件哈希值已更改,start an intent to launch the package installer。系统将提示用户执行升级(除非您修改Android操作系统,否则无法以静默方式安装它)。

答案 1 :(得分:0)

这实际上相对简单,我所要做的就是:

  1. 使用JSoup离线提取当前版本号
  2. 将该号码与当前版本号
  3. 进行比较
  4. 从在线下载新版本(由DropBox托管)
  5. 调用意图安装新下载的.apk 就是这样!简单有效!