我正在研究加速度计应用程序。我的应用程序是将数据保存在本地存储,即用户的智能手机上。我想将它发送到服务器,但我想每周发送一次。是否有任何功能可用于在一周后自动发送数据。
我正在使用Android Studio。对不起,我是新来的,请帮忙。
感谢。
答案 0 :(得分:1)
您使用WorkManager
架构组件来实现它。按如下方式安排PeriodicWorkRequest
:
创建工人类:
public class MyWorker extends Worker {
@Override
public Worker.WorkerResult doWork() {
// Send your data to server
// Indicate success or failure with your return value:
return WorkerResult.SUCCESS;
// (Returning RETRY tells WorkManager to try this task again
// later; FAILURE says not to try again.)
}
}
安排工作:
PeriodicWorkRequest periodicWork = new
PeriodicWorkRequest.Builder(MyWorker.class, 7, TimeUnit.DAYS)
.build();
WorkManager.getInstance().enqueue(periodicWork);
这会创建一个PeriodicWorkRequest,每7天定期运行一次。您还可以设置一些额外的约束,例如仅在Internet连接可用时执行此任务。这将在7天内执行一次任务,并且仅在设备具有互联网连接时执行。
答案 1 :(得分:0)
您应该尝试使用AlarmManager
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, Seconds, AlarmManager.INTERVAL_DAY * 7, pendingIntent);
另外,创建接收pendingIntent
的BroadcastReceiver,如果您有任何疑问,请在下面发表评论