[英]Dynamically deleting Android Widget from home screen
我自己解決了,只處理兩個布爾標志。 這是我在擴展 AppWidgetProvider 的類上所做的
public void onUpdate(Context context, AppWidgetManager appWidgetManager,
int[] appWidgetIds) {
super.onUpdate(context, appWidgetManager, appWidgetIds);
SharedPreferences settings = context.getSharedPreferences(SHARED_PREFERENCES, 0);
for(int widgetId:appWidgetIds)
{
boolean configured = settings.getBoolean(CONFIGURED_PREFERENCE+widgetId, false); //In order to skip initial UpdateService
boolean widget= settings.getBoolean(WIDGET_PREFERENCE+widgetId, false);
if(!widget && configured) continue; // In order to skip phantom Widgets update
if(!configured)
{
SharedPreferences.Editor editor = settings.edit();
editor.putBoolean(CONFIGURED_PREFERENCE+widgetId, true);
editor.commit();
}
else
{ Intent updateService=new Intent(context, UpdateService.class);
updateService.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID,widgetId);
context.startService(updateService);
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.