[英]How to update widget based on Broadcast message?
我從服務中收到一條廣播消息,它會更新其中一項活動中的信息,但我也希望它也更新我的窗口小部件。 我將如何處理?
假設系統中有一個動作為“ ACTION”的廣播,其中包含額外的“ TIME”。 如何使“ TIME”出現在小部件中? 我有一個由android studio制作的干凈類。
您只需要在廣播接收器的onReceive()中進行操作即可制作一個RemoteView並更新小部件:
public static final String ACTION = "ACTION";
public static final String TIME = "TIME";
@Override
public void onReceive(Context context, Intent intent) {
if(intent.getAction() != null) {
if (intent.getAction().equals(ACTION)) {
AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(context);
int widgetId = intent.getIntExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, 0);
String time = intent.getStringExtra(TIME);
RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.new_app_widget);
views.setTextViewText(R.id.appwidget_text, time);
appWidgetManager.updateAppWidget(widgetId, views);
}
} else {
super.onReceive(context, intent);
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.