我试图在用户启动应用程序七天后触发警报。我试图将警报设置为以下列方式触发:
Intent i = new Intent(this, MuteBroadcastReciever.class);
AlarmManager alarmManager = (AlarmManager) this.getSystemService(Context.ALARM_SERVICE);
PendingIntent pi = PendingIntent.getBroadcast(this, 747, i, 0);
alarmManager.set(AlarmManager.RTC_WAKEUP, Calendar.getInstance().getTimeInMillis() + (AlarmManager.INTERVAL_DAY * 7), pi);
但它仍然会在7天之前触发。
答案 0 :(得分:0)
来自Android的AlarmManager页面:
注意:从API 19(KITKAT)开始,警报传递不准确:操作系统将移动警报以最小化唤醒和电池使用。有新的API支持需要严格交付保证的应用程序;请参阅setWindow(int,long,long,PendingIntent)和setExact(int,long,PendingIntent)。 targetSdkVersion早于API 19的应用程序将继续查看之前在请求时准确传递所有警报的行为。
您使用AlarmManager.setExact(int type, long triggerAtMillis, PendingIntent operation)
来确保它是准确的吗?