WorkManager
定期设置,但是当应用被终止时,调度程序将无法正常工作。
我需要运行API版本23至29
PeriodicWorkRequest refreshCpnWork =
new PeriodicWorkRequest.Builder(RefreshLatestCouponWorker.class, 15*60*1000L, TimeUnit.MINUTES)
.setConstraints(myConstraints)
.setInputData(source)
.build();
答案 0 :(得分:0)
我发现某些设备(例如HUAWEI)具有称为“功耗密集型应用程序监视器”的功能。
除非用户授予特殊权限,否则它将杀死长时间在后台运行的每个应用程序。
执行此操作的路径:设置->安全和隐私->位置服务->最近的位置请求:您的应用名称->电池->取消选中耗电大的提示,应用启动:手动管理:检查所有三个位置:自动启动,二次启动,在后台运行。
我不知道是否有办法以编程方式执行此操作。我认为最好的方法是创建一种帮助活动,并向用户解释如果应用程序无法运行该怎么办。