CodenameOne后台任务用于BluetoothLe连接

3
我正在使用Codename One开发一个应用程序,该应用程序连接到一个蓝牙LE专有外部设备并记录接收到的数据(平均每秒钟接收一次数据)。我正在使用Bluetooth LE CN1库(Cordova 插件的包装器)。
即使在后台,该应用程序也应该能够接收和记录数据,但我不知道如何以一种方式在CodenameOne中实现,以便系统不会自行关闭它。
我编写了一个本地的Android应用程序,在其中使用一个带有持久通知的服务来连接外部BTLE设备 - 当连接断开(或用户取消连接)时,后台服务退出。是否有一种方法可以在CodenameOne中做同样的事情,并且在Android和iOS上都能正常工作?我知道我可以编写本机代码来实现这一点,但我怀疑我是否仍然可以使用插件 - 我想避免为两个操作系统编写整个蓝牙连接模块,因为这有点否定了使用CodenameOne的意义。
我还没有尝试通过生成Java线程来实现它,因为看起来它似乎不会真正起作用,因为它被转换为本机代码... 还是会起作用吗?
PS:我已经搜索了解决我的问题的方法,最接近的是CodenameOne背景音乐播放,但据我所知,这仅适用于音乐播放。
1个回答

2
我们将背景行为与iOS上的可能性对齐,因为在那里,您受到特定后台任务的限制,如此处所述:https://developer.apple.com/library/ios/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/BackgroundExecution/BackgroundExecution.html。由于这比Android等效功能更加严格和限制性,我们正在逐个映射这个用例。目前,我们支持位置、音乐播放和获取。由于蓝牙支持本身是相当新的,因此我们目前不支持该功能,尽管可以通过包含ios.plistInject 构建提示来启用此后台行为。这可能需要一些本地代码来正确绑定此行为。

谢谢,我会调查一下。 - ribafish

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接