这是我的代码
alarmStart = (AlarmManager) getSystemService(ALARM_SERVICE);
alarmStart.set(AlarmManager.RTC,startTime.getTime(),"alarm",
new AlarmManager.OnAlarmListener()
{
@Override
public void onAlarm() {
//On alarm code here
}
},null);
它说转换为OnAlarmListener需要API级别24(当前最小值为21(。 但我希望它在所有 API 上运行>=21。我应该在代码中进行哪些更改?
根据文档(强调我的(:
直接通知警报:请求者必须连续运行 从设置闹钟到发出闹钟的时间,或 传递将失败。只能使用此功能设置一次性警报 机制,不重复警报。
IMO 这只是围绕信使等的某种包装器。
您可以通过将 Messenger(将执行您的 onAlarm 代码(嵌入到您的 PendingIntent 中来实现类似的功能,并在您的 PendingIntent 关闭时调用它。