Я научился объявлять приемники не в androidManifest, а в сервисах, чтобы отменить их регистрацию, когда сервис убит (избегайте утечек памяти).
Вот, я не знаю, возможно ли это, из-за meta-data
. Я не знаю, как вводить их в приемник (но это правда, что я плохо знаю. Зависит от Google).
XML:
<receiver android:name=".Messages">
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
</intent-filter>
<meta-data
android:name="android.appwidget.provider"
android:resource="@xml/messages_info" />
</receiver >
JAVA:
final BroadcastReceiver widgetReceiver = new Messages();
final IntentFilter widgetFilter = new IntentFilter();
widgetFilter.addAction("android.appwidget.action.APPWIDGET_UPDATE");
// meta-data
registerReceiver(widgetReceiver, widgetFilter);
.
.
.
unregisterReceiver(widgetReceiver);
Но что делать с <meta-data android:name="android.appwidget.provider" android:resource="@xml/messages_info" />
Receiver.setMetaData не существует ...
Спасибо за внимание.
С уважением