2010-07-14 6 views
9

में देखता हूं, मैं डीबगर का उपयोग करके एमुलेटर के साथ काम कर रहा हूं और मैंने देखा है कि अपडेट को कॉल नहीं किया जा रहा है। जब मैं एमुलेटर होमस्क्रीन में विजेट जोड़ता हूं, तो मुझे लगता है कि मेरा ब्रेकपॉइंट ऑन रीसीव विधि में मारा जा रहा है। OnReceive विधि android.appwidget.action.APPWIDGET_UPDATE इरादा प्राप्त करती है। हालांकि, ऑन अपडेट फ़ंक्शन को कभी भी कॉल नहीं किया जाता है। मुझे विश्वास है कि यह सही ढंग से परिभाषित किया गया है।अद्यतन पर अद्यतन नहीं किया जा रहा है, भले ही मैं एंड्रॉइड.appwidget.action.APPWIDGET_UPDATE इरादे को

@Override 
     public void onUpdate(Context context 
,AppWidgetManager appWidgetManager,int[] appWidgetIds) 
     { 
    // code that sets up remove view and updates appWidgetManager 


    } 

उत्तर

0

क्या आपके पास अपने विजेट के लिए कॉन्फ़िगरेशन गतिविधि सेटअप है? क्योंकि यदि आप करते हैं, तो अपडेट को कॉल नहीं किया जाता है और यह पहली बार विजेट को मैन्युअल रूप से अपडेट करने के लिए कॉन्फ़िगरेशन गतिविधि का काम है। उसके बाद अद्यतन को आपके अपडेट अवधि कॉन्फ़िगरेशन में परिभाषित के रूप में जाना जाना चाहिए।

+0

हाँ मैंने इसे भी पढ़ा है, लेकिन थाई स्काई में मैं एक कॉन्फ़िगरेशन गतिविधि का उपयोग नहीं कर रहा हूं और एक निर्दिष्ट नहीं है – JonF

0

क्या आपके पास एंड्रॉइड मैनिफेस्ट में है?

 <intent-filter> 
    <action android:name="android.appwidget.action.APPWIDGET_UPDATE" /> 
    </intent-filter> 
16

कॉल onReceive में सुपर वर्ग विधि()

@Override 
public void onReceive(Context context, Intent intent) 
{ 
    // Chain up to the super class so the onEnabled, etc callbacks get dispatched 
    super.onReceive(context, intent); 
    // Handle a different Intent 
    Log.d(TAG, "onReceive()" + intent.getAction()); 

} 

आप अपने subclassed AppWidgetProvider में onReceive(), तो प्रदाता के onEnabled, onUpdate, ओवरराइड तो आदि कॉलबैक ट्रिगर नहीं होते हैं जब तक आप फोन सुपर क्लास।