在 android API 级别 24 for API 21 中转换 ALarmlistener 的替代方案是什么?



这是我的代码

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 关闭时调用它。

最新更新