如何识别系统日期已更改(手动或自动)?

时间:2015-08-03 14:26:48

标签: android broadcastreceiver

我正在开发一个应用程序,可以在系统日期更改时保存一些数据 我尝试使用BroadcastReceiver来接收Intent android.intent.action.DATE_CHANGED,但由于某种原因它无法正常工作。

以下是我的接收器代码:

public class BroadcastDateChangedReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {

        if (intent.getAction().equals("android.intent.action.DATE_CHANGED")) {

            Toast.makeText(context, "Date changed", Toast.LENGTH_LONG).show();

        }
    }
}

在AndroidManifest.xml中:

<receiver android:name=".BroadcastDateChangedReceiver">
    <intent-filter>
        <action android:name="android.intent.action.DATE_CHANGED"/>
    </intent-filter>
</receiver>

当我更改系统日期(手动或自动更改)时,Toast不会出现。

我的代码有什么问题?
我应该使用不同的方法来确定系统日期更改吗?

1 个答案:

答案 0 :(得分:0)


这个bug已经过时了。见link
这个link

中的一些研究和变体