Целью вещания на платформе 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 .