ACTION_DATE_CHANGED로
서비스에서 등록을 하고,
날이 변경되면 값을 리셋을 시켰는데
ACTION_DATE_CHANGED가 작동이 되지 않아서 이렇게 글을 올립니다.
임시적으로 안드로이드 폰에서 시간을 11:59로 놔두고 12:00되면 자동으로 날이 변경되었으니
로그캣에 날짜가 변경되었다고 뜰것인데.
뜨지 않아서 이렇게 글을 올립니다.
public class DeviceEventReceiver extends BroadcastReceiver {
private static final String TAG = "DeviceEventReceiver";
@Override
public void onReceive(Context context, Intent intent) {
if (Intent.ACTION_DATE_CHANGED == intent.getAction()) {
//값들 리셋
Log.i(TAG, "날짜가 변경되었습니다.");
SharedPreferenceUtil.putSharedPreference(context, "late_value1", null);
SharedPreferenceUtil.putSharedPreference(context, "late_time_h1", null);
SharedPreferenceUtil.putSharedPreference(context, "late_time_m1", null);
}
}
}
Service
private BroadcastReceiver mReceiver;
public void onCreate() {
IntentFilter date = new IntentFilter(Intent.ACTION_DATE_CHANGED);
registerReceiver(mReceiver, date);
}
public void onDestroy() {
unregisterReceiver(mReceiver);
}
Manifest
<receiver android:enabled="true" android:exported="false" android:label="DeviceEventReceiver" android:name="healthall.company.cabinet.DeviceEventReceiver">
<intent-filter>
<action android:name="android.intent.action.DATE_CHANGED">
</action>
</intent-filter>
</receiver>