Регистрация широковещательного приемника выдает ошибку после переноса кодовой базы для просмотра привязкиAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Регистрация широковещательного приемника выдает ошибку после переноса кодовой базы для просмотра привязки

Сообщение Anonymous »

У меня очень старая кодовая база Android — Kotlin 1.7 с синтетикой.
Я обновлял ее до Kotlin 2.0 с привязкой представлений и добавлял другие версии библиотеки.
Приложение использует Mapbox SDK v9.7. Во время инициализации этого SDK он внутренне регистрирует широковещательный приемник во время выполнения.

Код: Выделить всё

this.pendingIntent = PendingIntent.getBroadcast(this.context, 0, alarmIntent, flags);
IntentFilter filter = new IntentFilter("com.mapbox.scheduler_flusher");
this.context.registerReceiver(this.receiver, filter);
После обновления функции RegisterReceiver выдает ошибку

Код: Выделить всё

java.lang.SecurityException: com.example.app: One of RECEIVER_EXPORTED or RECEIVER_NOT_EXPORTED should be specified when a receiver isn't being registered exclusively for system broadcasts
Первоначально я думал об обновлении версии, поэтому я вернул все обновления версий к исходным рабочим версиям. Просто обновил все фрагменты для просмотра привязки.
После запуска приложения я все равно получил то же исключение.
Единственный способ, которым я нашел Чтобы не получить это исключение, нужно вернуться к синтетике Kotlin. Для меня это не имеет смысла, поскольку переход на привязку просмотра и указание, экспортируется ли приемник или нет, не должны быть связаны.
TLDR: переход на привязку просмотра приводит к регистрации приемника широковещательной передачи Mapbox выдать исключение. Возврат к синтетике избавляет от исключения.

Подробнее здесь: https://stackoverflow.com/questions/791 ... se-to-view
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»