<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-1  評論-68  文章-98  trackbacks-0
    作者:徐建祥(netpirate@gmail.com)
    日期:2010/01/06
    網址:http://www.anymobile.org

    1/ set a alarm clock
    1.1 update alarms.db
    1.2 update com.android.alarmclock_preferences.xml
    1.3 update Settings.System.NEXT_ALARM_FORMATTED for status bar
    1.4 set Kernel RTC alarm or send a message if no driver

    flow:
    com.android.alarmclock.AlarmClock.onCreate() -> SetAlarm.onPreferenceTreeClick() -> SetAlarm.saveAlarm() ->
    Alarm.setAlarm() -> Alarm.setNextAlert() -> Alarm.enableAlert(ALARM_ALERT_ACTION)/saveNextAlarm(Settings.System.NEXT_ALARM_FORMATTED) ->
    android.app.AlarmManager.set() -> AlarmManagerService.set() -> AlarmManagerService.setRepeating -> AlarmManagerService.setLocked() ->
    android.app.IAlarmManager.set() -> RTC.save()// /dev/alarms

    2/ play a clarm clock

    flow:
    RTC (WAKEUP) -> AlarmReceiver.onReceive(ALARM_ALERT_ACTION) -> AlarmAlert.onCreate() ->
    AlarmAlertWakeLock.acquire()/KeyguardManager.newKeyguardLock().disableKeyguard() ->
    AlarmKlaxon.postPlay() ->  AlarmKlaxon.KillerCallback().onKilled() -> AlarmAlert.dismiss() ->
    AlarmAlertWakeLock.release()/KeyguardManager.newKeyguardLock().reenableKeyguard()

    some description:

    /**
     * Days of week coded as single int, convenient for DB storage:
     *
     * 0x00:  no day
     * 0x01:  Monday
     * 0x02:  Tuesday
     * 0x04:  Wednesday
     * 0x08:  Thursday
     * 0x10:  Friday
     * 0x20:  Saturday
     * 0x40:  Sunday
     */

    /**
     * Alarm type
     *
     * ELAPSED_REALTIME            Alarm time in time since boot, including sleep, This alarm does not wake the device up.
     * ELAPSED_REALTIME_WAKEUP    Alarm time in time since boot, including sleep, This alarm will wake up the device when it goes off.
     * RTC            Alarm time in wall clock time in UTC, This alarm does not wake the device up.
     * RTC_WAKEUP    Alarm time in wall clock time in UTC, This alarm will wake up the device when it goes off.
     */

    db example:

    # cat /data/data/com.android.alarmclock/shared_prefs/com.android.alarmclock_preferences.xml
    1 <?xml version='1.0' encoding='utf-8' standalone='yes' ?>
    2 <map>
    3 <string name="label">警報</string>
    4 <boolean name="vibrate" value="true" />
    5 <boolean name="on" value="true" />
    6 </map>

    # sqlite3 /data/data/com.android.alarmclock/databases/alarms.db
    SQLite version 3.5.9
    Enter ".help" for instructions
    sqlite> .tables
    alarms            android_metadata
    sqlite> .schema alarms
    CREATE TABLE alarms (_id INTEGER PRIMARY KEY,hour INTEGER, minutes INTEGER, daysofweek INTEGER, alarmtime INTEGER, enabled INTEGER, vibrate INTEGER, message TEXT, alert TEXT);
    sqlite> select * from alarms;
    1|7|0|127|0|0|1||
    2|8|30|31|1262766600000|1|1|警報|content://media/internal/audio/media/21
    3|9|0|0|0|0|1||
    posted on 2010-01-06 17:27 Xu Jianxiang 閱讀(3934) 評論(0)  編輯  收藏 所屬分類: Android
    主站蜘蛛池模板: 亚洲午夜日韩高清一区| 亚洲av综合av一区| 国产成人免费午夜在线观看| 2021在线观看视频精品免费| 特级做A爰片毛片免费69| 国产精品美女自在线观看免费| 免费看一级做a爰片久久| 久久久久亚洲AV成人无码网站| 亚洲国产精品xo在线观看| 亚洲爆乳AAA无码专区| 亚洲免费人成在线视频观看| 性xxxxx免费视频播放| 久久亚洲精品无码播放| 99亚偷拍自图区亚洲| 亚洲精品偷拍视频免费观看| xxxxx免费视频| 亚洲sss综合天堂久久久| 老司机69精品成免费视频| 亚洲AV成人精品网站在线播放| 久操视频免费观看| 亚洲无线一二三四区| 中文字幕av免费专区| 久久免费观看国产精品| 国产精品亚洲片在线观看不卡| 四虎必出精品亚洲高清| 日本免费网站观看| 亚洲欧洲日韩国产综合在线二区| 羞羞视频免费网站含羞草| 91精品导航在线网址免费| 亚洲国产精品无码久久青草| 亚洲色图激情文学| 午夜视频在线观看免费完整版| 久久亚洲国产欧洲精品一| 一级毛片免费在线播放| 国产精品免费电影| 中文字幕无线码免费人妻| 久久久久亚洲精品日久生情| 免费无码av片在线观看| 亚洲日韩精品一区二区三区无码 | 久久久亚洲精品国产| 国产在线观看片a免费观看|