您是否尝试在 onReceive 中捕获您的广播消息:
@Override
public void onReceive(Context context, Intent intent) {
super.onReceive(context, intent);
String strAction = intent.getAction();
if (AppWidgetManager.ACTION_APPWIDGET_UPDATE.equals(strAction)) {
/* Do update */
}
}
否则,IMO 最好定义自己的消息,而不是使用 ACTION_APPWIDGET_UPDATE 来明确小部件更新视图的逻辑,类似的,在 1.Declare Intent name in Manifest 文件中:
<action android:name="com.yourdomain.youapp.SETTING_UPDATE" />
2.定义意图名称:
public static final String SETTING_UPDATE = "com.yourdomain.youapp.SETTING_UPDATE";
3.在onReceive中处理:
@Override
public void onReceive(Context context, Intent intent) {
super.onReceive(context, intent);
String strAction = intent.getAction();
if (SETTING_UPDATE.equals(strAction)) {
/* Do update setting */
}
}
希望对你有帮助^^