Получать трансляции только из системы

#android #broadcastreceiver

#Android #приемник широковещательной передачи

Вопрос:

Я пишу приложение для Android, которое работает с несколькими внешними USB-устройствами. Заинтересованные стороны выразили обеспокоенность по поводу безопасности в отношении приемников вещания из-за обратной связи с SonarQube, и это кажется достаточно законным, чтобы продолжать.

Есть ли способ определить, что трансляция (например ACTION_USB_DEVICE_ATTACHED ) исходила от самой системы, а не от третьей стороны?

Приемникам BroadcastReceivers может быть ограничено получение намерений только из источников, которым предоставлены определенные разрешения. Существует ли разрешение, имеющееся только у системы, которое можно было бы использовать с желаемым эффектом?

Комментарии:

1. Вы не можете определить источник. В зависимости от широковещательной рассылки вы можете добавить android:permission в свой атрибут <receiver> , чтобы ограничить отправителя чем-то, что содержит указанное разрешение. Я не знаю, есть ли подходящее разрешение для этой трансляции.