android appWidgetProvider 接收到android.appwidget.action.APPWIDGET_UPDATE后为什么没有执行onUpdate方法啊 来个大牛帮我解答啊 感激不尽
解决方案 »
- 有经验的高手都来啊
- sina weibo问题,我想让用户不登陆就可以看见一些微薄。
- android客户端与服务器servlet通信的一个问题,求解惑。。。
- android 代码混淆
- ActionBarActivity 和 FragmentActivity 不能同时继承 怎么办?
- ListView,ExpandableListView与Adapter的应用场景分析,求解???
- android新手求教,大神帮帮忙
- 请问,以下代码有什么问题?(不能输出 Log.v("AAA", ".............test...1..");)
- XUtils中BitmapUtils实现网络下载不显示图片
- airtest poco
- tabhost 中的Activity防止重新启动问题
- 纯用代码进行安卓布局,为什么RelativeLayout.BELOW这个设置不起作用
监听器:button.setOnClickListener(mBtnClick);
}
OnClickListener mBtnClick = new OnClickListener(){ @Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent intent = new Intent();
intent.setAction("android.appwidget.action.APPWIDGET_UPDATE");
Edit.this.sendBroadcast(intent);
finish();
}
};注册receiver:
<receiver android:icon="@drawable/icon"
android:label="@string/app_name"
android:name="WidgetProvider">
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
</intent-filter>
<meta-data android:name="android.appwidget.provider"
android:resource="@xml/widget_provider" />
</receiver>
复写的onreceive和onupdate
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
System.out.println("onreceive");
super.onReceive(context, intent);
} @Override
public void onUpdate(Context ctxt, AppWidgetManager appWidgetManager,
int[] appWidgetIds) {
System.out.println("onupdate");
super.onUpdate(ctxt, appWidgetManager, appWidgetIds);
}能打印出onreceive但是不能打印onupdate,这是为什么啊
好好看看源码。
源码如下。
if (AppWidgetManager.ACTION_APPWIDGET_UPDATE.equals(action)) {
Bundle extras = intent.getExtras();
if (extras != null) {
int[] appWidgetIds = extras.getIntArray(AppWidgetManager.EXTRA_APPWIDGET_IDS);
if (appWidgetIds != null && appWidgetIds.length > 0) {
this.onUpdate(context, AppWidgetManager.getInstance(context), appWidgetIds);
}
}
}