Moja aplikacja obsługuje zainstalowane przez użytkownika widżety, takie same jak aplikacja uruchamiająca.Niektóre widgety innych firm przestają się aktualizować po aktualizacji aplikacji
Po związaniu widgetu wszystko działa poprawnie. Widżety są tworzone, aktualizowane automatycznie, mogę klikać, aby poruszać się po wewnętrznych widokach.
Wszystko działa poprawnie, dopóki nie zaktualizuję aplikacji ze sklepu Play (lub ręcznie za pomocą podpisanego pliku APK).
Po aktualizacji widżety nadal się wyświetlają, ale nie będą już aktualizowane. Niektóre widgety działają, gdy je klikam, ale widok utknął i nigdy się nie aktualizuje, dopóki nie ponownie utworzę widgetu (zdobędę nowy identyfikator i powiązam go).
Próbowałem zmuszając aktualizacji przy użyciu
Intent intent = new Intent();
intent.setAction(AppWidgetManager.ACTION_APPWIDGET_UPDATE);
intent.setComponent(appWidgetInfo.provider);
intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS, new int[]
{appWidgetId});
context.sendBroadcast(intent);
ale to nie pomaga ...
chciałem spróbować wymuszoną aktualizację kliknięcia, ale nie mogłem znaleźć żadnego sposób na uzyskanie Widoku RemoteViews (ponieważ nie jest to mój widget, po prostu go hostuję).
RemoteViews views =
new RemoteViews(context.getPackageName(),R.layout.mywidget_layout);
Intent updateIntent = new Intent();
updateIntent.setAction(AppWidgetManager.ACTION_APPWIDGET_UPDATE);
updateIntent.putExtra(myWidgetProvider.WIDGET_IDS_KEY, ids);
PendingIntent pendingIntent = PendingIntent.getBroadcast(
context, 0, updateIntent, PendingIntent.FLAG_UPDATE_CURRENT);
views.setOnClickPendingIntent(R.id.view_container, pendingIntent);
realizowane również AppWidgetProvider
słuchać zmian tożsamości Widgety (APPWIDGET_HOST_RESTORED
), ale to nie sprawdzony na moim aktualizacji aplikacji.
Moim następnym krokiem byłoby odtworzenie wszystkich widżetów po aktualizacji aplikacji, ale naprawdę wolę tego nie robić.
Doceniam każdą pomoc!
Co: testowane urządzenie? Wersja OS? launcher (np. Samsung touch wiz itp.)? –
Wiele urządzeń ... Moja aplikacja została opublikowana. Wielu użytkowników zgłasza ten problem i udało mi się ją odtworzyć na 3 różnych urządzeniach, w wersji Androida 4.1 lub nowszej. –
@downvoter proszę skomentuj, dlaczego mogę poprawić moje pytanie. –