gpt4 book ai didi

Android 小部件无法接收 DATE_CHANGED 消息

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:27:54 25 4
gpt4 key购买 nike

我正在开发一个日历小部件,当我手动更改日期时,我无法收到 DATE_CHANGED 消息。

问题是什么?

我在 list 中的代码是:

<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>

我试着这样接收它:

@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);
}

但是当我手动更改系统日期时,日志不打印。

谢谢!

更新:

我用 Intent.ACTION_TIME_CHANGED 解决了这个问题, 真是DATE_CHANGED的bug。

最佳答案

使用这个 Intent :

 <intent-filter>
<action android:name="android.intent.action.TIME_SET"/>
</intent-filter>

并接收:

@Override
public void onReceive(Context ctx, Intent intent) {
final String action = intent.getAction();
if (action.equalsIgnoreCase("android.intent.action.TIME_SET")) {
Log.e(TAG, "Date changed.....!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
}
super.onReceive(ctx, intent);
}

关于Android 小部件无法接收 DATE_CHANGED 消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11444884/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com