有没有办法在Android上自动更新应用程序?

Lev*_*ara 36 android updates

我正在开发一个很可能预装在设备上的应用程序.它也可以在Google Play上播放.有没有办法更新那些未通过Google Play下载的实例,因为Google Play不会通知用户有关更新的信息.

正如这里建议的那样,我正在考虑定期联系我的网站,当有更新时,请下载它.

有没有办法自动执行此更新,甚至是静默更新,以便用户无需执行任何操作(如手动运行包).或者,当我的网站显示更新可用时,通过Google Play向用户提供更新,即使它未通过市场安装(编辑:此Google播放选项会更好,因为用户不必检查"允许安装非市场来源".)

Jor*_*sys 43

我有同样的问题,现在我检查我的应用程序的开始,如果我的配置xml中的新版本.

我将我的配置文件中的实际版本与标签"<app_version> 1.1 </ app_version>"进行比较,如果用户继续进行升级,我会问自定义的AlertDialog

Intent intent = new Intent(Intent.ACTION_VIEW ,Uri.parse(myapk_link));
startActivity(intent);    
Run Code Online (Sandbox Code Playgroud)

下载后,用户必须手动运行包.

如果您从Android市场中选择更新,请使用:

Intent intent = new Intent(Intent.ACTION_VIEW ,Uri.parse("market://details?id=com.package.name"));
startActivity(intent);  
Run Code Online (Sandbox Code Playgroud)

com.package.name 必须是您的应用程序的"包"

要么

Intent intent = new Intent(Intent.ACTION_VIEW ,Uri.parse("market://search?q=" + APP_NAME));
startActivity(intent);  
Run Code Online (Sandbox Code Playgroud)

  • 你是如何与GooglePlay版本进行比较的?男人将不胜感激 (7认同)

Lev*_*ara 8

刚刚找到一种有效的方法.触发搜索我的应用程序的市场的意图.

使用OpenIntent Newsreader进行测试,因为很容易找到旧版本.apk.Market找到一个应用程序,当用户点击安装时,将旧版本替换为Market中的版本.我认为对于用户来说,比手动下载.apk并运行它更容易.

Intent intent = new Intent(Intent.ACTION_VIEW ,Uri.parse("market://search?q=" + APPLICATION_NAME));
startActivity(intent);  
Run Code Online (Sandbox Code Playgroud)

  • 如果设备上没有市场(即Google Apps)怎么办? (2认同)

Gen*_*Sys 7

有没有办法更新那些未通过Google Play下载的实例,因为Google Play不会通知用户有关更新的信息.

老问题,新答案:

在深入研究完全相同的问题(设备上预装的应用程序,如何通过Google-Play提供更新)后,我在support.google.com*上找到了此信息:

只要满足以下条件,Google Play就可以管理预装应用程序的更新:

  • 预加载的应用程序需要位于系统分区中
  • 预加载的应用程序需要是免费的
  • 预加载的应用需要使用与Google Play中发布的应用相同的签名进行签名
  • 预加载和更新的应用程序的包名称必须相同
  • 更新的应用程序的版本代码需要大于预加载的应用程序的版本代码

*截至2015-04-13