我在我的主活动中有一个WorkManager:
private void startwork() {
PeriodicWorkRequest work = new PeriodicWorkRequest.Builder(AlarmReceiver.class, 16, TimeUnit.MINUTES)
.setConstraints(Constraints.NONE)
.build();
WorkManager.getInstance(MainActivity.this)
.enqueueUniquePeriodicWork("workname", ExistingPeriodicWorkPolicy.REPLACE, work);
}
我希望每隔16分钟播放一次警报。
问题在于,每次用户启动应用程序时,它都会立即显示一个警报,我希望在用户打开应用程序后的16分钟后才显示警报。
public Result doWork() {
notify();
}
有什么办法能避免用户每次打开应用都弹出此警报?我只想将它重新安排在16分钟后。
startwork()
->doWork()
-> 显示通知吗?如果在调用startwork()
之前调用了doWork()
,可能仍然存在一个流浪的 WorkRequest;尝试删除应用程序。 - Michielstartwork()
在 MainActivity 的protected void onCreate
中。而我有一个public class AlarmReceiver extends Worker {
类... - RGS