Удаление AppWidgets программным способом

Мне сложнее всего понять, как программно удалить AppWidget с домашнего экрана (т.е. без фактического перетаскивания пользователем одного из них в корзину). В качестве примера рассмотрим приложение, которое может иметь несколько учетных записей с любым количеством виджетов для каждой учетной записи - как только учетная запись будет удалена, виджет также должен быть удален.

Я пробовал следовать малоизвестному примеру из http://www.netmite.com/android/mydroid/cupcake/frameworks/base/services/java/com/android/server/AppWidgetService.java, но это, похоже, даже не запускает OnDeleted, не говоря уже о удалите AppWidget с главного экрана.

Intent intent = new Intent(AppWidgetManager.ACTION_APPWIDGET_DELETED);
intent.setComponent(info.componentName); // references AppWidgetProvider's class
intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, widgetId);
sendBroadcast(intent);

Кто-нибудь может посоветовать, как это можно сделать? Примером могут служить колени пчелы. Спасибо.

15
задан Melllvar 25 December 2010 в 23:24
поделиться