Eu sei que é possível, mas não consigo descobrir uma maneira de acionar uma atualização do meu widget a partir da atividade principal. Não existe alguma intenção geral que eu possa transmitir?
android
android-activity
android-widget
Nuvious
fonte
fonte
widgetId
?intent.setAction(AppWidgetManager.ACTION_APPWIDGET_UPDATE);
Isso ajudou quando eu pesquisei sobre como atualizar um widget de um serviço / ou ação (mas pode ser possível em todos os contextos):
fonte
Então, para atualizar um widget de uma atividade, você pode fazer assim:
Funciona para mim :)
fonte
Experimente isto:
fonte
Caso você esteja trabalhando com um widget que usa uma coleção como ListView, GridView ou StackView, para atualizar os itens do widget, faça o seguinte:
Com este método NoticeAppWidgetViewDataChanged (), você pode forçar os itens do widget a buscar quaisquer novos dados em tempo real.
fonte
fonte
notifyAppWidgetViewDataChanged()
que leva um array.Solução aceita de Phaethon em Kotlin:
Onde MyAppWidgetProvider é derivado de AppWidgetProvider:
class MyAppWidgetProvider : AppWidgetProvider() {
fonte
Se você estiver tentando atualizar programaticamente o widget onde não tem acesso a YourWidgetProvider.class explicitamente, por exemplo, de outro módulo ou biblioteca, você pode capturar o que YourWidgetProvider.class.getName () produz e criar uma constante:
Você poderia então usar isso implicitamente:
fonte