当前位置:编程学习 > wap >>

android appWidgetProvider 接收到android.appwidget.action.APPWIDGET_UPDATE后没有执行onUpd

android appWidgetProvider 接收到android.appwidget.action.APPWIDGET_UPDATE后为什么没有执行onUpdate方法啊  来个大牛帮我解答啊 感激不尽 --------------------编程问答-------------------- 贴上代码:
监听器: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,这是为什么啊 --------------------编程问答-------------------- 没有人吗 --------------------编程问答-------------------- csdn都是一群SX吗 真是想骂娘啊 --------------------编程问答-------------------- AppWidgetProvider已经实现了onReceive,那里边调用onUpdate。onReceive,你已经复写了,当然不可能再调onUpdate。
好好看看源码。 --------------------编程问答-------------------- 你没有发送AppWidgetManager.EXTRA_APPWIDGET_IDS。
源码如下。
        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);
                }   
            }   
        }   
补充:移动开发 ,  Android
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,