Я разрабатываю приложение, которое сохраняет некоторые данные при изменении системной даты.
Я попытался использовать 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>
Когда я изменить системную дату (либо вручную, либо автоматически изменяет) Тост не появляются.
Что не так с моим кодом?
Должен ли я использовать другой подход для определения изменения системной даты?