0

bleDevice.connectGatt(this, true, gattCallback)でBLE周辺機器に接続しようとしましたが、そのアプリのApplicationクラスからです。デバイスは、数時間に1度のみ広告パッケージを送信します。Android:Bluetooth LEデバイスにバックグラウンドで接続

これは、アプリケーションが開いている/アクティブである限り、正常に動作します。ディスプレイをオフにして数分待ってから周辺機器をオンにすると、gattCallbackは決して呼び出されません。

フォアグラウンドサービスを作成するよりもBluetoothデバイスが稼動しているときに、他の方法でアプリケーションを起動できますか?

答えて

0

Lollipopからスキャン結果があるとデバイスが起動します。そのデバイスはスキャンできます。また、Lollipopではスキャン用のフィルタを設定することができます。ペリフェラルに固定MACアドレスがある場合、フィルタとして使用できます。周辺機器が広告を開始するとすぐにデバイスが起動します。

アラームマネージャを使用すると、デバイスを散発的に起動させることができます。

関連する問題