Je développe un widget de calendrier, et je ne peux pas recevoir le message DATE_CHANGED lorsque j'ai changé la date MANUELLEMENT.Le widget Android ne peut pas recevoir le message DATE_CHANGED
Quel est le problème?
Mon code Manifest:
<receiver android:name="com.widget.calendar.CalendarWidgetProvider">
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
<action android:name="android.intent.action.DATE_CHANGED"/>
</intent-filter>
<!-- This specifies the widget provider info -->
<meta-data android:name="android.appwidget.provider"
android:resource="@xml/widgetinfo" />
</receiver>
Et j'ai essayé de le recevoir comme ceci:
@Override
public void onReceive(Context ctx, Intent intent) {
final String action = intent.getAction();
if (action.equalsIgnoreCase("android.intent.action.DATE_CHANGED")) {
Log.e(TAG, "Date changed.....!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
}
super.onReceive(ctx, intent);
}
Mais le journal n'est pas imprimer lorsque je change la date du système manuellement.
Merci!
MISE À JOUR:
Je résolu ce problème avec Intent.ACTION_TIME_CHANGED, il est vraiment un bug de DATE_CHANGED.
mais cela provoquera vider votre batterie car il appellera recepteur de diffusion à nouveau et à chaque fois que le temps va changer. – Akram
@Akki J'ai testé qu'il n'enverra pas cette intention TIME_SET sauf si je change manuellement l'heure ou la date du système. Donc, la batterie est en sécurité ici :) – herbertD
donc vous voulez appeler ce destinataire lorsque l'utilisateur change la date manuellement? – Akram