- 确保注释掉doInBackground()方法里的Looper.prepare()和Looper.loop(),因为这些可能导致回调无法触发。
- 确保设置闹钟时使用的requestCode是唯一的,因为相同的requestCode会覆盖之前的闹钟,从而导致回调不被调用。
- 确保在调用android_alarm_manager_plus的时候设置了回调函数,并且回调函数的包名和函数名正确无误。
以下为示例代码:
import 'package:android_alarm_manager_plus/android_alarm_manager_plus.dart';
void main() async {
await AndroidAlarmManager.initialize();
final callback = (int _) async {
print('Alarm fired!');
};
await AndroidAlarmManager.periodic(
Duration(seconds: 10), 0, callback,
startAt: DateTime.now(), exact: true,
wakeup: true);
}