我正在拥有自己的应用程序商店,托管所有Android应用程序。一些应用程序被修改。那么我如何使用OTA向客户/用户发送更新。因此,客户将了解新的更新,他将能够下载它。
答案 0 :(得分:2)
一个月前在HN找到一个有趣的解决方案。这与您在客户端上直接更新应用程序无需任何用户交互。由于您拥有自己的应用商店,因此不应该遇到HN主题中列出的任何问题。
解决方案工作片段来自网站 -
...拦截对startActivityForResult,getResources和其他一些函数的所有调用。当您尝试启动活动时,Evolve会生成一个虚拟类,并将其超类设置为您要启动的活动。
...动态生成新类的字节码
...然后更改意图以启动相应的类
这仍处于alpha模式,因此需要您的一些努力才能进行集成。
链接到解决方案 - http://blog.vivekpanyam.com/evolve-seamlessly-deploy-android-apps-to-users
假设这是你所期待的,希望这会有所帮助!
答案 1 :(得分:1)
1.创建一个Web服务,您的应用可以在应用启动时轮询,或者根据可以检查是否有新版本的时间限制进行轮询。
2.此Web服务应返回服务器上托管的最新版本的apk文件以及具有新版本的应用程序文件的URI。
3.当您的应用从Web服务获得响应时,它将解析JSON并将您的应用版本检查到服务器上可用的最新版本。
4如果您的应用版本低于最新版本,则会提示用户开始下载过程。
5.新应用程序的下载由下载管理器处理。 下载完成后,下载管理器将使用广播接收器通知您的应用程序。
6.完成最新版本的应用程序文件后,您可以开始安装该文件的活动。 此时用户需要说OKAY,让我们这样做。 请检查此https://code.google.com/p/auto-update-apk-client/
答案 2 :(得分:0)
如果您有自己的应用商店,那么您必须在相关设备上运行客户端应用,以允许他们从该应用商店安装/更新应用。
作为该客户端的一部分,您可以拥有一项服务,该服务枚举设备上已安装的应用程序,并检查您的商店是否有可用的更新。如果是,那么它会向用户提示访问商店以更新相应的应用程序 - 或者做其他适当的情况。
您可能还想注册此服务以接收网络连接事件的广播,这样如果没有互联网连接,该服务将在连接再次可用时收到通知。