Android Date Changed广播接收器

时间:2014-06-10 06:42:33

标签: android broadcastreceiver android-broadcast

我有一个广播接收器,当用户手动更改日期时接收事件。但我无法找到他改变的前一个日期。示例 - 如果日期是2014年6月5日,他将其更改为2014年6月1日。我想知道之前的日期是2014年6月5日。请帮忙

2 个答案:

答案 0 :(得分:0)

您可以注册ACTION_TIME_TICK并每分钟记录当前日期。

答案 1 :(得分:-1)

指定更改日期的意图是

android.intent.action.DATE_CHANGED

通过引用教程http://www.tutorialspoint.com/android/android_broadcast_receivers.htm

设置此意图的侦听器

创建一个意图过滤器:

     static {
        s_intentFilter = new IntentFilter();
        s_intentFilter.addAction(Intent.ACTION_TIME_TICK);
        s_intentFilter.addAction(Intent.ACTION_TIMEZONE_CHANGED);
        s_intentFilter.addAction(Intent.ACTION_TIME_CHANGED);
    }

和广播接收器:

    private final BroadcastReceiver m_timeChangedReceiver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
            final String action = intent.getAction();

            if (action.equals(Intent.ACTION_TIME_CHANGED) ||
                action.equals(Intent.ACTION_TIMEZONE_CHANGED))
            {
                doWorkSon();
            }
        }
    };

注册接收者:

     public void onCreate() {
        super.onCreate();
        registerReceiver(m_timeChangedReceiver, s_intentFilter);     
    }

取消注册:

     public void onDestroy() {
        super.onDestroy();
        unregisterReceiver(m_timeChangedReceiver);     
    }