android .appwidget.action.APPWIDGET_UPDATE объявление в Service или Activity для отмены регистрации - PullRequest
0 голосов
/ 16 июня 2020

Я научился объявлять приемники не в 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 не существует ...

Спасибо за внимание.

С уважением

...