- 0
В Delphi XE10 перестал работать FMXBroadcastReceiver (Android). Что изменилось со времён XE7?
-
Похожий контент
-
- 12 ответов
- 492 просмотра
-
- 2 ответа
- 286 просмотров
-
- 0 ответов
- 557 просмотров
-
- 9 ответов
- 1 411 просмотр
-
- 1 ответ
- 850 просмотров
-
- 4 ответа
- 970 просмотров
-
- 2 ответа
- 836 просмотров
-
- 0 ответов
- 706 просмотров
-
Поставил Delphi 10.4 - не могу скомпилировать приложение под Android
От Delpher-X,
- delphi 10.4.2
- android
- (и ещё 2 )
- 24 ответа
- 3 063 просмотра
-
- 4 ответа
- 1 272 просмотра
-
-
Последние посетители 0 пользователей онлайн
- Ни одного зарегистрированного пользователя не просматривает данную страницу
Вопрос
Alexey Shumkin
Для работы с USB-устройствами (на девайсах с USB-хостом) нужно использовать BroadcastReceiver.
Нашёл пример работы с ними (https://github.com/freeonterminate/delphi/tree/master/BroadcastReceiver).
Проверял на XE10. Долго мучался с проверкой, пока не выяснилось, что под XE7 работает, а под XE10 - нет.
Выдаёт ошибку "Interface not supported" в момент создания JFMXBroadcastReceiver (или около того, точно непонятно).
Для демонстрации я создал отдельный простой проект - https://github.com/ashumkin/Delphi-Android-BroadcastSample.
В XE7 он работает (при нажатии на кнопку Register вешается слушатель, который ловит и выводит в лог (см. adb logcat) события включения/выключения экрана). А в XE10 - выдаёт вышеупомянутую ошибку "Interface not supported".
В логах есть строки
W/dalvikvm(31735): dvmFindClassByName rejecting 'com/embarcadero/firemonkey/broadcast/FMXBroadcastReceiverListener'
W/dalvikvm(31735): dvmFindClassByName rejecting 'com/embarcadero/firemonkey/broadcast/FMXBroadcastReceiver'
(но они есть и при запуске приложения, собранного в XE7)
Пробовал по-разному: и удалял AndroidManifest.template.xml от XE7, и пересоздавал .dproj в XE10, - пофик.
В чём засада?
Ссылка на комментарий
8 ответов на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.