2016-08-12 7 views
2

私はBluetooth LE独自の外部デバイスに接続し、受信したデータをログに記録するCodename Oneを使用してアプリケーションを開発しています(平均データは1秒間に1回届きます)。私はBluetooth LE CN1 library(Cordova Pluginのラッパー)を使用しています。BluetoothLe接続用のCodenameOneバックグラウンドタスク

フォアグラウンドではないときでもアプリケーションがデータを受信して​​ログに記録できるはずです。システムではそれをシャットダウンしないようにCodenameOneで行う方法はわかりません。

私は、外部のBTLEデバイスとの接続期間中、永続的な通知を伴うサービスを使用するネイティブのAndroidアプリケーションを作成しました。バックグラウンドサービスは、接続が失われる(またはユーザーが接続をキャンセルする)ときに終了します。 AndroidとiOSの両方で動作するCodenameOneで同じことを行う方法はありますか?私はそれを行うネイティブコードを書くことができることを知っているが、私はまだプラグインを使用することができます私は懐疑的です - 私は両方のOSesのためのネイティブアプリのBluetooth接続モジュール全体を書くことを避けたいと思いますCodenameOneを使用しています。

私はJavaスレッドを生成するだけで、実際にはネイティブコードに変換されてから動作しないように見えます。

PS:問題の解決策を探しました.CodenameOneバックグラウンドミュージックの再生が最も近いのですが、これは音楽再生のためのもので、理解できる限りです。

答えて

1

ここで説明したように私たちはあなたが特定のバックグラウンドタスクに限定されているiOSの上で何ができるかに、バックグラウンド動作を整列:https://developer.apple.com/library/ios/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/BackgroundExecution/BackgroundExecution.html

をそれははるかに多くの制限と制限私たちはこの1つのユースケースをマッピングしているAndroidの同等以上であるので、一度に。現在、位置、音楽再生&フェッチをサポートしています。

ブルートゥースサポート自体は新しくなっているため、この背景動作を有効にするios.plistInjectbuild hintを含めることでサポートすることは可能ですが、現時点ではサポートはありません。これは、この動作を適切にバインドするために、いくつかのネイティブコードを必要とする可能

+0

ありがとう、私はそれを調べます。 – ribafish

関連する問題