2017-05-24 8 views
3

私はBLE Androidを構築しています。 私のアプリケーションはバックグラウンドサービス24/7(これは私のアプリにとって不可欠です)のBLEデバイスを、SCAN_MODE_LOW_POWERを設定してスキャンします。 私のアプリに関連するデバイスを見つけると、私はこの時点で私のアプリの1秒ごとのカウントのためにSCAN_MODE_LOW_LATENCYに切り替わります。 SCAN_MODE_LOW_LATENCYで私は集中的にScanCallbackを受信して​​いますが、スリープモードのデバイスが集中的に10-11コールバックのように受信してから、3-4秒後にコールバックを再び受信するようなときに、Android BLE ScanCallback LOW LATENCY

この3〜4秒の遅延/一時停止は、私のアプリケーションをまったく役に立たない。

デバイスがスリープモードまたはドーズモードになっていても、集中的なScanCallbackを使用できますか?

ありがとうございました。

ログオン画面:

5月25日09:26:27.121 14564から14564 /? I/TAG_BLE:BLE onScanResult - isScreenOn:true

05-25 09:26:27.161 14564-14564 /? I/TAG_BLE:BLE onScanResult - isScreenOn :true

05-25 09:26:27.211 14564-14564 /? I/TAG_BLE:BLE onScanResult - isScreenOn:true

05-25 09:26:27.251 14564-14564 /? I/TAG_BLE:BLE onScanResult - isScreenOn:true

05-29 09:26:27.301 14564-14564 /? I/TAG_BLE:BLE onScanResult - isScreenOn:真

...集中的ScanCallback

5月25日09:26:41.101 14564から14564 /? I/TAG_BLE:BLE onScanResult - isScreenOn:true

05-25 09:26:41.151 14564-14564 /? I/TAG_BLE:BLE onScanResult - isScreenOn:true

05-25 09:26:41.201 14564-14564 /? I/TAG_BLE:BLE onScanResult - isScreenOn:true

05-25 09:26:41.251 14564-14564 /? I/TAG_BLE:BLE onScanResult - isScreenOn:true

05-25 09:26:41.291 14564-14564 /? I/TAG_BLE:BLE onScanResult - isScreenOn:true

05-25 09:26:41.341 14564-14564 /? I/TAG_BLE:BLE onScanResult - isScreenOn:true

05-25 09:26:41.391 14564-14564 /? I/TAG_BLE:BLE onScanResult - isScreenOn:真

ログイン画面オフ:

5月25日09:26:50.141 14564から14564 /? I/TAG_BLE:BLE onScanResult - isScreenOn:false

05-25 09:26:50.191 14564-14564 /? I/TAG_BLE:BLE onScanResult - isScreenOn:false

05-25 09:26:50.221 14564-14564 /? I/TAG_BLE:BLE onScanResult - isScreenOn:false

05-25 09:26:50.271 14564-14564 /?I/TAG_BLet:BLE onScanResult - isScreenOn:偽

5月25日09:26:50301 14564 14564へ/? I/TAG_BLet:BLE onScanResult - isScreenOn:偽

5月25日09:26:50351 14564 14564へ/? I/TAG_BLet:BLE onScanResult - isScreenOn:偽

5月25日09:26:50.401 14564から14564まで/? I/TAG_BLet:BLE onScanResult - isScreenOn:偽

5月25日09:26:50441 14564 14564へ/? I/TAG_BLet:BLE onScanResult - isScreenOn:偽

5月25日09:26:50501 14564 14564へ/? I/TAG_BLet:BLE onScanResult - isScreenOn:偽

5月25日09:26:50531 14564 14564へ/? I/TAG_BLet:BLE onScanResult - isScreenOn:偽

5月25日09:26:50581 14564 14564へ/? I/TAG_BLet:BLE onScanResult - isScreenOn:偽

5月25日09:26:50631 14564 14564へ/? I/TAG_BLet:BLE onScanResult - isScreenOn:偽

--->コールバック5S

5月25日09:26:55151 14564から14564 /? I/TAG_BLet:BLE onScanResult - isScreenOn:偽

5月25日09:26:55201 14564 14564へ/? I/TAG_BLet:BLE onScanResult - isScreenOn:偽

5月25日09:26:55251 14564 14564へ/? I/TAG_BLet:BLE onScanResult - isScreenOn:偽

5月25日09:26:55301 14564 14564へ/? I/TAG_BLet:BLE onScanResult - isScreenOn:偽

5月25日09:26:55341 14564 14564へ/? I/TAG_BLet:BLE onScanResult - isScreenOn:偽

5月25日09:26:55381 14564 14564へ/? I/TAG_BLet:BLE onScanResult - isScreenOn:偽

5月25日09:26:55421 14564 14564へ/? I/TAG_BLet:BLE onScanResult - isScreenOn:偽

5月25日09:26:55481 14564 14564へ/? I/TAG_BLet:BLE onScanResult - isScreenOn:偽

5月25日09:26:55521 14564 14564へ/? I/TAG_BLet:BLE onScanResult - isScreenOn:偽

5月25日09:26:55571 14564 14564へ/? I/TAG_BLet:BLE onScanResult - isScreenOn:偽

5月25日09:26:55611 14564 14564へ/? I/TAG_BLet:BLE onScanResult - isScreenOn:偽

+0

standby.htmlの#support_for_other_use_cases –

+0

アプリのプロセスで実行されているフォアグラウンドサービスを持っていますか?あなたがいない場合は、2つのバックグラウンドでBLEスキャンを持っている必要がある場合には1を持っている必要があります。それ以外の場合は、アプリがしばらく後に終了されることをチャンスです。 – Emil

+0

私はフォアグランドサービスを持っていません。私はスティッキーバックグラウンドサービスを使用しています。問題は私のサービスが殺されていないことです(私はサービスが殺されないことを保証しています)。私はいつもScanCallbackのコールバックを受け取っていますが、私が望むほどの時間はありません。たとえば、それがロックされたら集中的なScanCallbackを受信します。私はまだコールバックを受信して​​いますが、その間に3-4秒のポーズがあります。 –

答えて

0

異なるメーカーが異なるのBluetoothチップを使用します。したがって、そのようなものの動作は非常に可能性があります。あなたは毎秒ほどスキャンを再開しようとしたことがありますか?ただ、起動して、それを停止します。 https://developer.android.com/training/monitoring-device-state/doze-standby.html#understand_app_standbyとhttps://developer.android.com/training/monitoring-device-state/doze-関連

+0

私はそれを試みましたが、私はscanbackを再起動するときにコールバックを取得しませんでした。 3-4sコールバックもなし。 –

関連する問題