recycled_man 2015-11-25 02:40
浏览 1683

关于android5.1AlarmManagerService中移除Alarm的问题

     private void removeLocked(PendingIntent operation) {
        boolean didRemove = false;
        for (int i = mAlarmBatches.size() - 1; i >= 0; i--) {
            Batch b = mAlarmBatches.get(i);
            ArrayList<Alarm> alarmList = b.alarms;
            Alarm alarm = null;
            for (int j = alarmList.size() - 1; j >= 0; j--) {
                alarm = alarmList.get(j);
                if (alarm.type == RTC_POWEROFF_WAKEUP && alarm.operation.equals(operation)) {
                    long alarmSeconds, alarmNanoseconds;
                    alarmSeconds = alarm.when / 1000;
                    alarmNanoseconds = (alarm.when % 1000) * 1000 * 1000;
                    Slog.w(TAG,"Clear alarm type=" + alarm.type + ",alarmSeconds=" +
                       alarmSeconds);
                    clear(mNativeData, alarm.type, alarmSeconds, alarmNanoseconds);
                    mNextRtcWakeup = 0;
                }
            }
            didRemove |= b.remove(operation);
            if (b.size() == 0) {
                mAlarmBatches.remove(i);
            }
        }

        if (didRemove) {
            if (DEBUG_BATCH) {
                Slog.v(TAG, "remove(operation) changed bounds; rebatching");
            }
            rebatchAllAlarmsLocked(true);
            rescheduleKernelAlarmsLocked();
            updateNextAlarmClockLocked();
        }
    }

在google源码中,移除alarm中的判断语句 if (alarm.type == RTC_POWEROFF_WAKEUP && alarm.operation.equals(operation)) ,难道只移除RTC_POWEROFF_WAKEU
这一种闹钟么?

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 MATLAB动图的问题
    • ¥15 求差集那个函数有问题,有无佬可以解决
    • ¥15 【提问】基于Invest的水源涵养
    • ¥20 微信网友居然可以通过vx号找到我绑的手机号
    • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
    • ¥15 解riccati方程组
    • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
    • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
    • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
    • ¥50 树莓派安卓APK系统签名