Wiem, że to możliwe, ale nie mogę znaleźć sposobu, aby wywołać aktualizację mojego widżetu z głównego działania. Czy nie ma jakichś ogólnych zamiarów, które mogę przekazać?
android
android-activity
android-widget
Nuvious
źródło
źródło
widgetId
?intent.setAction(AppWidgetManager.ACTION_APPWIDGET_UPDATE);
Pomogło to, gdy szukałem, jak zaktualizować widżet z usługi / lub akcji (ale może to być możliwe z każdego kontekstu):
źródło
Aby zaktualizować widżet z działania, możesz to zrobić w następujący sposób:
Pracuje dla mnie :)
źródło
Spróbuj tego:
źródło
Jeśli pracujesz z widżetem, który używa kolekcji, takiej jak ListView, GridView lub StackView, aby zaktualizować elementy widżetu, wykonaj następujące czynności:
Za pomocą tej metody notifyAppWidgetViewDataChanged () można wymusić na elementach widgetu pobieranie nowych danych w czasie rzeczywistym.
źródło
źródło
notifyAppWidgetViewDataChanged()
która pobiera tablicę.Zaakceptowane rozwiązanie Phaethona w Kotlinie:
Gdzie MyAppWidgetProvider pochodzi od AppWidgetProvider:
class MyAppWidgetProvider : AppWidgetProvider() {
źródło
Jeśli próbujesz programowo zaktualizować widżet, w którym nie masz jawnie dostępu do YourWidgetProvider.class, np. Z innego modułu lub biblioteki, możesz przechwycić dane wyjściowe YourWidgetProvider.class.getName () i utworzyć stałą:
Byłbyś wtedy w stanie użyć tego niejawnie:
źródło