मुझे एक एपविजेट है कि मैं किसी गतिविधि से अपडेट करने का प्रयास कर रहा हूं।AppWidgetManager.getAppWidgetIds गतिविधि में एक खाली सूची देता है
ऐसा करने के लिए, मुझे एपविजेट आईडी चाहिए।
मैंने AppWidgetManager.getAppWidgetIds
का उपयोग किया है लेकिन यह हमेशा एक खाली सूची देता है।
मैंने यह सुनिश्चित करने के लिए AppWidgetManager.getInstalledProviders
भी उपयोग किया है कि मेरा ComponentName
सही है, लेकिन फिर भी मुझे एक खाली सूची मिलती है।
मैंने इसके बारे में अन्य सभी प्रश्नों को देखा है, लेकिन मुझे कुछ ऐसा नहीं मिला जो मेरे लिए काम करता था।
क्या इसे हल करने का कोई और तरीका है? या विजेट को अद्यतन करने का एक और तरीका?
मेरे कोड:
ComponentName name = new ComponentName(packageName, boardcastReceiverClass);
AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(this);
int[] ids = appWidgetManager.getAppWidgetIds(name);
if (ids != null && ids.length > 0) {
getApplicationContext().sendBroadcast(getUpdateIntent(ids[0]));
}
धन्यवाद।
अद्यतन: मुझे यह उल्लेख करना चाहिए कि मेरा AppWidgetProvider लाइब्रेरी प्रोजेक्ट में है। घटक नाम के अनुसार मुझे getInstalledProviders
के साथ मिलता है, मैंने लाइब्रेरी के पैकेज नाम के साथ अपने ऐप का पैकेज नाम और क्लास नाम का उपयोग किया।
शेयर जहां आपको लगता है गलती है ... –
getAppWidgetIds (खाली सूची वापस आ जाएगी, तो उपयोगकर्ता को सक्षम नहीं किया/होम स्क्रीन पर अपने विजेट स्थापित। .. –
@ गोपालराव हाँ, मुझे पता है। जब विजेट होम स्क्रीन पर था तब मैंने इसका परीक्षण किया। – Ran