पर ऐप अपडेट होने पर हर बार विजेट गायब हो रहा है मेरे पास मेरे ऐप में 2 विजेट हैं। दोनों में समान सुविधाएं हैं, लेकिन विभिन्न लेआउट के साथ। वे हर डिवाइस पर ठीक काम करते हैं, लेकिन ऐसा लगता है कि सैमसंग उपकरणों पर कोई समस्या है। हर बार जब मैं ऐप का एक नया संस्करण प्रकाशित करता हूं, तो विजेट को उपयोगकर्ता स्क्रीन से हटा दिया जाता है। ऐसा लगता है कि यह एक सैमसंग टचविज़ बग है, लेकिन उपयोगकर्ता मुझे बता रहा है कि अन्य ऐप्स में यह समस्या नहीं है। क्या हो रहा है इसके बारे में कोई विचार?सैमसंग डिवाइस
BTW मैं एक पल है कि मैं इस ब्लॉग पोस्ट में इसे ठीक करने के लिए एक रास्ता मिल गया सोचा: https://medium.com/the-wtf-files/the-mysterious-case-of-the-disappearing-widget-f4177a8e2c2b लेकिन मैं मैन्युअल रूप से बुला नहीं कर रहा हूँ
updateIntent.setAction(AppWidgetManager.ACTION_APPWIDGET_UPDATE);
इसके बजाय मैं फोन कर रहा हूँ
घटक नाम सीएन = नया घटक नाम (संदर्भ, क्लैज); AppWidgetManager.getInstance (संदर्भ) .updateAppWidget (सीएन, विचार);
क्रम में मेरी विजेट अद्यतन करने के लिए मेरे कोड का
अधिक:
public static final int layout = R.layout.widget_large_layout;
public static final BitmapQualityEnum thumbnailQuality = BitmapQualityEnum.HIGH_RES;
public static final Class<?> clazz = LargeWidgetProvider.class;
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
if (context != null && appWidgetIds != null && appWidgetIds.length > 0) {
// To prevent any ANR timeouts, we perform the update in a service
context.startService(new Intent(context, LargeWidgetProvider.UpdateService.class));
}
}
@Override
public void onReceive(Context context, Intent intent) {
if (context != null && intent != null) {
boolean doUpdate = true;
if ("android.appwidget.action.APPWIDGET_UPDATE".equals(intent.getAction())) {
final int[] widgetIds = intent.getIntArrayExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS);
doUpdate = (widgetIds != null && widgetIds.length > 0);
}
if (doUpdate) {
WidgetProviderHelper.receive(context, intent, clazz, layout, thumbnailQuality);
}
super.onReceive(context, intent);
}
}
public static class UpdateService extends Service {
private int serviceStartId = -1;
@Override
public boolean onUnbind(Intent intent) {
stopSelf(this.serviceStartId);
return true;
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
this.serviceStartId = startId;
// Push update for this widget to the home screen
updateData(this);
return START_STICKY;
}
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
// int oldOrientation = this.getResources().getConfiguration().orientation;
// if (newConfig.orientation != oldOrientation) {
// Update the widget) {
updateData(this);
// }
}
@Override
public IBinder onBind(Intent intent) {
// We don't need to bind to this service
return null;
}
}
मैं भी गायब विगेट्स (और प्रतीक) सैमसंग उपकरणों पर के साथ मुद्दों था और उसे सक्षम है कि/प्रोग्राम के रूप में मेरे एप्लिकेशन में घटकों को अक्षम करने निकला (विगेट्स खुद से संबंधित नहीं घटकों) टचविज में गड़बड़। यदि आप अपना अधिक विजेट कोड पोस्ट करते हैं (जैसे ऑनसेसिव/ऑनअपडेट मैं संभावित मुद्दों के लिए इसे देख सकता हूं। –
मुझे तर्क मिलता है कि "आपके ऐप में यह समस्या है लेकिन अन्य ऐप्स बहुत कुछ नहीं हैं। काउंटर तर्क" 99.9 हो सकता है मेरे सौ हजार उपयोगकर्ताओं में से इस समस्या के पास नहीं है, तो आपके डिवाइस में क्या गलत है? ";-)। यदि एक ऐप में से एक कहते हैं कि 200 में इस समस्या के साथ 100'000 इंस्टॉलेशन में से 5 डिवाइसों की तुलना में एक समस्या (0.5%) है तो स्पष्ट रूप से संभावना है कि डिवाइस में कोई समस्या है जो ऐप से अधिक है मुसीबत। बेशक सच आमतौर पर बीच में होता है और यह आमतौर पर कारकों का संयोजन होता है)। –
@ ईमानुअल मोक्लिन इससे कोई फर्क नहीं पड़ता कि केवल कुछ उपयोगकर्ताओं को समस्या है। हां शायद 20 उपयोगकर्ताओं ने 500 के + के बाहर इस मुद्दे की सूचना दी लेकिन उनके सभी में एक सैमसंग डिवाइस आम है। इसके अलावा अधिकांश उपयोगकर्ता ऐप विजेट का उपयोग नहीं कर रहे हैं और अधिकांश उपयोगकर्ता समस्या के बारे में शिकायत नहीं कर सकते हैं। तो हाँ, मैं इस समस्या को ठीक करना चाहता हूं;) – user1026605