1
我有一個應用程序小部件可以在接收更新時啓動intentService。Android應用程序小部件 - 使用哪種上下文
我不知道,以更新的Widget使用哪個方面,我應該使用下列條件之一:
- 應用程序上下文 中的AppWidgetProvider收到
- 語境
- IntentService方面
有時候我有麻煩,更新Widget指令(通過RemoteViews)被忽略。
其他時候,所有的內容都被刪除,除非我刪除widget並重新添加,否則不會再次繪製。
我想了解爲什麼會出現這種問題。
控件已開始通過:
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager,int[] appWidgetIds) {
Log.d(TAG_PROCESS, " onUpdate ");
Intent intent = new Intent(context, UpdateService.class);
intent.setData(Uri.parse(intent.toUri(Intent.URI_INTENT_SCHEME))); // embed extras so they don't get ignored
intent.setAction(AppWidgetManager.ACTION_APPWIDGET_UPDATE);
context.startService(intent);
}
我通過這些方法更新在IntentService部件:
/** Updates all widgets with the given remoteViews instructions */
protected static void updateAllWidgets(Context context, RemoteViews remoteView){
ComponentName thisWidget = new ComponentName(context, WidgetActivity.class);
AppWidgetManager manager = AppWidgetManager.getInstance(context);
manager.updateAppWidget(thisWidget, remoteView);
}
/** Update a given widget (id) with the given remoteViews instructions */
protected static void updateWidget(Context context, RemoteViews remoteView, int widgetId){
AppWidgetManager manager = AppWidgetManager.getInstance(context);
manager.updateAppWidget(widgetId, remoteView);
}
也許表現出一定的代碼? –
@ci_我添加了一些代碼 – htafoya