Целью вещания на платформе Android является специальное намерение, которое часто вызывается системой при событии и отслеживается BroadcastReceiver.
Целью вещания на платформе Android является специальное намерение, которое часто вызывается системой для события и отслеживается BroadcastReceiver.
Вы можете либо динамически зарегистрировать экземпляр этого класса с помощью Context.registerReceiver()
, либо статически опубликовать реализацию с помощью тега <receiver>
в вашем AndroidManifest.xml
[1123 ].
Существуют следующие два важных шага, чтобы заставить BroadcastReceiver работать для целей вещания systen:
Создание приемника вещания
Приемник вещания реализован как подкласс BroadcastReceiver класс и переопределение метода onReceive (), где каждое сообщение принимается как объектный параметр Intent .
public class MyReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { Toast.makeText(context, "Intent Detected.", Toast.LENGTH_LONG).show(); } }
Регистрация приемника вещания
Приложение прослушивает определенные намерения вещания путем регистрации приемника вещания в файле AndroidManifest.xml. Предположим, что мы собираемся зарегистрировать MyReceiver для сгенерированного системой события ACTION_BOOT_COMPLETED, которое запускается системой, как только система Android завершила процесс загрузки.
<application android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <receiver android:name="MyReceiver"> <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED"> </action> </intent-filter> </receiver> </application>
Теперь, когда ваше устройство Android загружается, оно будет перехвачено BroadcastReceiver MyReceiver
, и будет реализована реализованная логика внутри onReceive()
.
См. Также документацию о Intent и Intent Filters .