要正确取消Android AlarmManager中的闹钟,可以按照以下步骤进行操作:
private int alarmId = 0;
System.currentTimeMillis()
方法):alarmId = (int) System.currentTimeMillis();
AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
Intent intent = new Intent(this, AlarmReceiver.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(this, alarmId, intent, 0);
alarmManager.cancel(pendingIntent);
onReceive()
方法中执行完所需的操作后,调用completeWakefulIntent(intent)
方法来释放唤醒锁(如果有用到):public class AlarmReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
// 处理闹钟触发的逻辑
// 释放唤醒锁(如果有用到)
AlarmReceiver.completeWakefulIntent(intent);
}
}
通过以上步骤,你应该能够正确设置和取消Android AlarmManager中的闹钟。确保在取消闹钟时使用相同的闹钟标识符来取消对应的闹钟。