检查我的android应用程序更新的最佳方法是什么?
我在android studio中创建了一个android应用程序。检查我的android应用程序更新的最佳方法是什么?,android,android-studio,Android,Android Studio,我在android studio中创建了一个android应用程序。 我想每天检查我的应用程序是否有更新。如果是,则通知用户下载并安装更新 它应该向我的服务器发送请求以检查最新版本(例如) 然后比较版本,如果从服务器获取的版本大于当前应用程序版本->向用户发送通知并要求他们更新 它应该每天在后台运行一次 此时,设备应连接到internet 我搜索了很多,找到了很多答案,比如使用这些: 广播接收机 工作经理 报警管理器 服务 我面临一些问题,例如: android 7中不推荐使用
我想每天检查我的应用程序是否有更新。如果是,则通知用户下载并安装更新
- 它应该每天在后台运行一次
- 此时,设备应连接到internet
我搜索了很多,找到了很多答案,比如使用这些:
- 广播接收机
- 工作经理
- 报警管理器
- 服务
- android 7中不推荐使用连接更改为
的广播接收器
- 服务不是一个好的选择,因为它总是在运行
- 还有更多
提前感谢。您应该使用。您可以将其设置为每天运行一次,甚至仅在连接到internet时运行 在work manager中,您将拨打电话检查您的应用程序版本,然后在有更新时显示通知 创建类似这样的工作管理器
val constraints = Constraints.Builder().setRequiredNetworkType(NetworkType.CONNECTED).build()
val dailyBuilder = PeriodicWorkRequestBuilder<DailyMaintenanceWorker>(1, TimeUnit.DAYS).setConstraints(constraints) .build()
WorkManager.getInstance(this).enqueueUniquePeriodicWork("DailyMaintenanceWorker", ExistingPeriodicWorkPolicy.KEEP, dailyBuilder)
val constraints=constraints.Builder().setRequiredNetworkType(NetworkType.CONNECTED).build()
val dailyBuilder=PeriodicWorkRequestBuilder(1,TimeUnit.DAYS).setConstraints(constraints).build()
WorkManager.getInstance(this.enqueueUniquePeriodicWork(“DailyMaintenanceWorker”,ExistingPeriodicWorkPolicy.KEEP,dailyBuilder)
这个应用程序是在app store中,还是他们手动安装并手动安装更新?@tyczj否他们应该手动安装更新那里有很多麻烦,用户按通知下载文件,然后从文件资源管理器安装,看起来很容易,但对用户来说这是一个很大的麻烦。改装工作经理为我工作。@javdromero凌空抽射怎么样?这对这份工作有好处吗?是的,你没有说太多关于你将使用什么样的请求,如rest、post、get或任何其他,但这两个库都有效,你应该根据你使用的内容检查更好的库。好的,谢谢,但是你能不能也举一个如何注册这个工作经理的例子?我在回答中链接了工作经理文档。还有一个小问题…我应该在我的活动中运行这个代码吗?那么,如何确保该代码在安装之后执行一次呢?或者在清单中注册此工作者的方法?只需在应用程序类中启动它,您就会知道,无论何时启动应用程序,它都会创建工作或保留当前创建的工作。但需要注意的一点是,一些制造商打破了work manager的工作方式,如果你的应用程序被强制退出或从最近的列表中清除,那么work manager将不会开始你的工作。不幸的是,你对此无能为力。你可以看到哪些制造商是最严重的违规者