gpt4 book ai didi

android - 无论设置什么时间,AlarmManager 的 setRepeating() 都会在 1 分钟后重复(本例中为 5 秒,API 18+)

转载 作者:IT老高 更新时间:2023-10-28 23:20:51 29 4
gpt4 key购买 nike

我已将重复时间设置为 5 秒。第一个 toast 会在 5 秒后出现,但所有下一个 toast 会在 1 分钟后重复。
我也尝试了 setRepeating() 的代码,它仍然不起作用。
这是我的代码:

public void constructJob(){

Intent alertIntent = new Intent(this, AlarmManagerService.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(
this, 0,
alertIntent,
PendingIntent.FLAG_UPDATE_CURRENT);

AlarmManager alarmManager = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
alarmManager.setInexactRepeating(
AlarmManager.RTC_WAKEUP,
GregorianCalendar.getInstance().getTimeInMillis(),
repeatTime(),
pendingIntent
);

}

public long repeatTime(){
return 5000;
}

AlarmManagerService.java

public class AlarmManagerService extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Toast.makeText(context, "5 seconds have passed",
Toast.LENGTH_SHORT).show();
}

最佳答案

文档需要更新。截至我认为Android 5.1(API版本22)重复警报的最短时间为1分钟,并且将来的警报不能设置小于5秒。

如果您需要在一分钟内完成工作,只需直接设置警报,然后从该警报的处理程序中设置下一个,等等。

如果您需要在 5 秒内完成工作,请将其发布到 Handler 而不是使用警报管理器?

关于android - 无论设置什么时间,AlarmManager 的 setRepeating() 都会在 1 分钟后重复(本例中为 5 秒,API 18+),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34585381/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com