有没有办法在Android上自动更新应用程序?
我正在开发一个应用程序,它很可能预先安装在设备上。它也将在谷歌Play上提供。有没有办法更新那些没有通过Google Play下载的实例,因为Google Play不会通知用户更新 我在考虑,作为,尝试定期联系我的网站,当更新可用时,下载它有没有办法在Android上自动更新应用程序?,android,updates,Android,Updates,我正在开发一个应用程序,它很可能预先安装在设备上。它也将在谷歌Play上提供。有没有办法更新那些没有通过Google Play下载的实例,因为Google Play不会通知用户更新 我在考虑,作为,尝试定期联系我的网站,当更新可用时,下载它 有没有一种方法可以自动执行此更新,或者甚至以静默方式执行此更新,以便用户不必执行任何操作(例如手动运行包)。或者,当我的网站显示更新可用时,通过Google Play向用户提供更新,即使它不是通过Market安装的(编辑:此Google Play选项更可取,
有没有一种方法可以自动执行此更新,或者甚至以静默方式执行此更新,以便用户不必执行任何操作(例如手动运行包)。或者,当我的网站显示更新可用时,通过Google Play向用户提供更新,即使它不是通过Market安装的(编辑:此Google Play选项更可取,因为用户不必选中“允许安装非市场来源”。您无法自动安装或升级软件包。只有安卓市场能够做到这一点(即,它会自动进行更新) 您当然可以下载一个软件包并启动
Intent
来安装它,但是用户必须启用“允许非市场应用”选项,并且他们仍然必须手动批准安装/升级
一个可能需要调查的地方是谷歌地图是如何做到这一点的。这通常是预安装的,但我相信,它总是会在Android Market应用程序中显示为更新。我不知道
packages.xml
或manifest中是否有特殊标志。我也有同样的问题,现在我在应用程序开始时检查配置xml中是否有新版本
我将实际版本与我的configuration.xml的标记“Intent intent = new Intent(Intent.ACTION_VIEW ,Uri.parse(myapk_link));
startActivity(intent);
下载后,用户必须手动运行包
如果您从Android market选择更新,请使用:
Intent intent = new Intent(Intent.ACTION_VIEW ,Uri.parse("market://details?id=com.package.name"));
startActivity(intent);
com.package.name
必须是应用程序的“包”
或
我正在开发一个应用程序
将很可能预先安装在
设备
然后你需要与设备制造商交谈,并向他们询问你的问题。考虑到他们的设备和分发它的运营商,没有人能够告诉你什么是可能的,什么是不可能的。答案在很大程度上取决于他们是如何创建固件的,您的应用程序是固件的一部分还是作为普通应用程序“安装”的,他们与运营商的安排是如何进行固件更新,等等。你可能连投票权都没有。只是找到了一个可行的方法。激发了一个搜索我的应用程序的市场意向 使用OpenIntent新闻阅读器进行测试,因为很容易找到旧版本的.apk。Market会找到一个应用程序,当用户单击install时,会将旧版本替换为市场上的版本。我认为对于用户来说,这比手动下载.apk并运行它要容易得多
Intent intent = new Intent(Intent.ACTION_VIEW ,Uri.parse("market://search?q=" + APPLICATION_NAME));
startActivity(intent);
如果在设备上捆绑应用程序的人正确地完成了该应用程序的工作,则该应用程序仍将具有市场链接(即使是作为系统应用程序),如果有新版本可用,市场将提示用户升级该应用程序。毕竟,手机上预装的GMail应用程序正是如此 有没有办法更新那些没有通过Google Play下载的实例,因为Google Play不会通知用户更新 老问题,新答案: 在深入研究了完全相同的问题(设备上预装的应用程序,如何通过Google Play提供更新)后,我在*上找到了此信息: Google Play可以管理预加载应用程序的更新,前提是满足以下条件:
- 预加载的应用程序需要位于系统分区中
- 预加载的应用程序需要是免费的
- 预加载的应用程序需要使用与Google Play中发布的应用程序相同的签名进行签名
- 预加载和更新的应用程序的程序包名称必须相同
- 更新应用程序的版本代码需要大于预加载应用程序的版本代码
*从2015年4月13日起,有一项很好的服务可以帮助您的应用程序不断更新。看看 在这个产品中有一个忍者模式,允许执行更新而无需用户交互
对于其他“模式”,仍然需要启用“安装非市场应用程序”。如果未启用,安装过程将请求它并将用户重定向到应用程序设置,然后,用户可以安装应用程序。如果可以将应用程序作为系统应用程序签名,则可以完全自动更新应用程序。我们为特定硬件编写了一个应用程序,我们创建了一个制造商为我们签名的更新应用程序。更新应用程序在设备启动时运行,检查应用程序的当前版本和新版本,并在必要时安装新版本
该用例将是一个kiosk应用程序,在同一品牌和型号的平板电脑上,没有Google Play 谷歌在2018年安卓开发者峰会上宣布了面向开发者的安卓应用程序内更新api,这样你们就可以在这里阅读整个故事,并在这个问题上获得更新
这里是最新版本更新的选项 尝试从应用程序更新此google库
dependencies {
implementation 'com.google.android.play:core:1.5.0'
...}
我希望这将帮助为设备供应商或运营商工作或与之合作的任何人预安装。是的,最有可能,但如果是在公司环境或类似环境中,一种选择是最初通过从市场下载进行安装,不必扮演你自己的更新程序。卖家可能会在他们的设备上预装,但他们可能不会通过市场安装,我想让用户无需太多麻烦就可以升级…“你甚至可能得不到投票权。”我不。。。这就是为什么我在寻找另一种方法。。
dependencies {
implementation 'com.google.android.play:core:1.5.0'
...}