我正在使用 Codename One 开发一个应用程序,它连接到蓝牙 LE 专有外部设备并记录接收到的数据(平均数据大约每秒到达一次)。我正在使用蓝牙 LE CN1 库 https://github.com/chen-fishbein/bluetoothle-codenameone(科尔多瓦的包装Plugin https://github.com/randdusing/cordova-plugin-bluetoothle).
即使不在前台,应用程序也应该能够接收和记录数据,我不知道如何在 CodenameOne 中以系统不会自行关闭它的方式执行此操作。
我编写了一个本机 Android 应用程序,在与外部 BTLE 设备的连接期间使用带有持久通知的服务 - 当连接丢失(或用户取消连接)时后台服务退出。有什么方法可以在 CodenameOne 中做同样的事情,它可以在 Android 和 iOS 上运行吗?我知道我可以编写本机代码来做到这一点,但我怀疑我是否仍然可以使用该插件 - 我想避免为两个操作系统编写本机应用程序的整个蓝牙连接模块,因为这否定了这一点使用 CodenameOne 的方法。
我还没有尝试通过生成一个java线程来做到这一点,因为看起来它实际上不起作用,因为它被转换为本机代码......或者是吗?
PS:我已经寻找了解决我的问题的方法,我能找到的最接近的是 CodenameOne 背景音乐播放,但据我所知,这仅适用于音乐播放。
我们将后台行为与 iOS 上可能的情况进行了调整,在 iOS 上,您仅限于特定的后台任务,如下所述:https://developer.apple.com/library/ios/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/BackgroundExecution/BackgroundExecution.html https://developer.apple.com/library/ios/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/BackgroundExecution/BackgroundExecution.html
由于这比 Android 的同等版本更具限制性和限制性,因此我们每次只映射一个用例。目前我们支持定位、音乐播放和获取。
由于蓝牙支持本身相当新,我们目前不支持它,尽管可能可以通过包括ios.plistInject
构建提示 https://www.codenameone.com/manual/advanced-topics.html启用此后台行为。这可能需要一些本机代码来正确绑定此行为。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)