android - FMXBroadcastReceiver (Android) 在 Delphi 10 Seattle 中损坏了吗?自 XE7 以来发生了什么变化?

标签 android delphi firemonkey

要使用 USB 设备(在具有 USB 主机的 Android 设备上),必须使用 BroadcastReceiver . 我找到了一个演示(https://github.com/freeonterminate/delphi/tree/master/BroadcastReceiver)。我已经在 Delphi XE10 上测试过了。浪费了很多时间让它工作,直到我发现演示可以在 XE7 上工作但不能在 XE10 上工作。

在创建 JFMXBroadcastReceiver 期间(或附近)出现“不支持接口(interface)”错误。

为了演示这个问题,我创建了一个全新的简单项目 https://github.com/ashumkin/Delphi-Android-BroadcastSample . 它在 XE7 中工作(按“注册”按钮创建一个广播接收器,它捕获和记录(参见 adb logcat)屏幕锁定/解锁。但它在 XE10 中不起作用 - 出现“不支持的接口(interface)”。 在 logcat 中我可以看到

W/dalvikvm(31735): dvmFindClassByName rejecting 'com/embarcadero/firemonkey/broadcast/FMXBroadcastReceiverListener'
W/dalvikvm(31735): dvmFindClassByName rejecting 'com/embarcadero/firemonkey/broadcast/FMXBroadcastReceiver'

(但它们存在于 XE7 构建的应用程序的 logcat 中)

我试图删除 XE7 版本的 AndroidManifest.template.xml,在 XE10 中创建了 .dproj 文件,- 没有任何帮助!

什么鬼?

谢谢!

最佳答案

https://github.com/barisatalay/delphi-android-broadcast-receiver-component适用于 Delphi 10! 与https://github.com/freeonterminate/delphi/tree/master/BroadcastReceiver有细节差异,但正如我所看到的,对于工作来说,这很重要。

关于android - FMXBroadcastReceiver (Android) 在 Delphi 10 Seattle 中损坏了吗?自 XE7 以来发生了什么变化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37758457/

相关文章:

multithreading - 工作线程启动时,FMX主线程中的动画停止

delphi - 如何实现IsFirstRecord和IsLastRecord?

delphi - 如何防止平板电脑屏幕自动旋转?

delphi - 为什么在 firemonkey 中 form.show 在 form.create 之前调用?

android - 如何在水平 ScrollView 中获取滚动状态 : Android

android - SQLCipher 是否允许其他应用程序访问数据库。(如果 SD 卡中的数据库)

android - 如何实现 Material 指南中描述的全屏对话框?

javascript - Webview 无法在 onPageFinished 加载 javascript

delphi - 如果 eax 包含 self,为什么它给出零?

delphi - fmx delphi berlin 如何更改 Tgrid 行中的字体颜色