Вы можете увидеть файл манифеста и метод onReceive моего кода. Во всем приложении ошибок нет.
Файл манифеста:
<receiver
android:name=".DateChangeReceiver"
android:enabled="true"
android:exported="false" >
<intent-filter>
<action android:name="android.intent.action.DATE_CHANGED" />
</intent-filter>
</receiver>
Метод при получении:
package com.example.dayplanner1;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.widget.Toast;
public class DateChangeReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Toast.makeText(context, "Date Changed!!!", Toast.LENGTH_LONG).show();
DatabaseHelper mydb = GlobalDataHelper.createDatabase(context);
//copying from Routine to Routine_Today
mydb.copyToRoutine();
//delete tasks from database if it is before the current time
mydb.clearOverDueTask();
//Starting/Refreshing alarm
MyAlarm myAlarm = GlobalDataHelper.createMyAlarm();
myAlarm.refreshAlarm(context);
}
}
Он работает только тогда, когда мое приложение открыто. После того, как я закрою свое приложение и когда вручную изменю дату, оно не будет транслировать DATE_CHANGED !!!