改变Android的日期广播接收器(Android Date Changed Broadcast R

2019-10-20 06:28发布

我有一个接收事件,当用户手动更改日期的广播接收机。 但我无法找到什么是他改变了以前的日期。 例 - 如果日期是5月 - 2014年和他改成了6月01日2014年。 我想知道以前的日期是5月2014年。 请帮忙

Answer 1:

你可以注册ACTION_TIME_TICK和记录当前日期的每一分钟。



Answer 2:

指定日期的目的是改变

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);     
    }


文章来源: Android Date Changed Broadcast Receiver