1. 監聽時區變化:
配置:
<receiver android:name="com.gionee.ui.DateTimeReceiver"> <intent-filter> <action android:name="android.intent.action.TIMEZONE_CHANGED"/> </intent-filter> </receiver>
private static final String ACTION_TIMEZONE_CHANGED = Intent.ACTION_TIMEZONE_CHANGED; @Override public void onReceive(Context context, Intent intent) { if (DBG) { Log.d(LOG_TAG, "---onReceive() start!---"); } String action = intent.getAction(); if (ACTION_TIMEZONE_CHANGED.equals(action)) { if (DBG) { Log.d(LOG_TAG, "---TIMEZONE_CHANGED!---"); } } if (DBG) { Log.d(LOG_TAG, "---onReceive() end!---"); } }
2. 監聽日期變化
配置:
<action android:name="android.intent.action.DATE_CHANGED" />
private static final String ACTION_DATE_CHANGED = Intent.ACTION_DATE_CHANGED; @Override public void onReceive(Context context, Intent intent) { if (DBG) { Log.d(LOG_TAG, "---onReceive() start!---"); } String action = intent.getAction(); if (ACTION_DATE_CHANGED.equals(action)) { if (DBG) { Log.d(LOG_TAG, "---DATE_CHANGED!---"); } } if (DBG) { Log.d(LOG_TAG, "---onReceive() end!---"); } }
3. 監聽時間變化
配置:
<action android:name="android.intent.action.TIME_SET" />
private static final String ACTION_DATE_CHANGED = Intent.ACTION_DATE_CHANGED; private static final String ACTION_TIME_CHANGED = Intent.ACTION_TIME_CHANGED; @Override public void onReceive(Context context, Intent intent) { if (DBG) { Log.d(LOG_TAG, "---onReceive() start!---"); } String action = intent.getAction(); if (ACTION_DATE_CHANGED.equals(action)) { if (DBG) { Log.d(LOG_TAG, "---DATE_CHANGED!---"); } } if (ACTION_TIME_CHANGED.equals(action)) { if (DBG) { Log.d(LOG_TAG, "---TIME_CHANGED!---"); } } if (DBG) { Log.d(LOG_TAG, "---onReceive() end!---"); } }
說明:
1.配置<action android:name="android.intent.action.TIME_SET" />,可同時監聽日期,時間的變化。
2.單獨監聽時間變化的配置,目前不了解。
3.配置中還可<action android:name="android.intent.action.TIME_TICK" />,代碼中可
private static final String ACTION_TIME_TICK = Intent.ACTION_TIME_TICK; if (ACTION_TIME_TICK.equals(action)) { if (DBG) { Log.d(LOG_TAG, "---TIME_TICK!---"); } }
此功能目前還不清楚用法。