1

周囲のすべての周辺機器が送信していることを確認する必要があるため、連続BLEスキャンを実行する必要があるアプリケーションを開発しました。 1つ以上の送信が停止すると、私のアプリはアラートを発する必要があります。 私は一部の携帯電話でそれをテストしてみた:サムスンのAndroid 6.0.1:電話がロックされているときにBLEディスカバリスキャンが終了する

1 - サムスン注4と - のAndroid 6.0.1 4とLGネクサス5 - アンドロイド6.0 3で名誉8 - アンドロイド5.1.1 2とサムスン注4 Android 6.0.1 5 - Samsung J5 with Android 6.0.1

BLEペリフェラルの検出は、デバイスがロックされている場合と比較してデバイスが「起きている」ときとは異なる動作をしているようです。 特に、電源ボタンを押してデバイスがロックされた状態になると、電話機が周辺機器の検出を停止します。または、少なくとも発見頻度は非常に低いです。電源ボタンをもう一度押すと(ピンを入力してロック解除モードに戻る)、BLE検出が再び開始され、連続して実行されます。

スキャンを操作するサービスは完全に稼動していますが、単にスキャンを実行しません。

この奇妙な動作は、電話機4と5(Android 6.0.1搭載のSamsung)でのみ発生します。異なるAndroidバージョンの同じ携帯電話と、異なる携帯電話の同じAndroidバージョンが影響を受けていないようです。

私は成功せず、さまざまな回避策を試してみた:私のアプリケーションのための

  • 無効にAndroidのドーズモード、
  • 私のアプリでAndroidの設定から、ソースコードの両方からさまざまなScanSettingsオプション使用:SCANMODE、NumOfMatchesを、MatchMode ...
  • は、スキャンサービス、高ウェイクロックレベル

は誰もが今までと同じ問題を抱えていますか?Giving

EDIT:これは、優先度の低い状態になる位置サービスにリンクすることができるのAndroid 4.4.2

+0

パワーウェイクロックが設定されていますか?フォアグラウンドサービスを使用していますか? – mhenryk

+0

私は、ウェイクロックをPARTIAL_WAKE_LOCKに設定しました。このサービスは、ユーザーがその存在を認識する必要がないため、バックグラウンドにあります。 – AlbeSte

+0

解決策は見つかりましたか? –

答えて

0

とサムスン注2にも試験し、[OK]をクリックします。テストデバイスでサービスを高精度に変えて再テストしてみてください。

+0

これを行うには、私は高精度にサービスを回すつもりですか? –

+0

各デバイスでそれを調べる必要があります。異なるアンドロイドデバイスには残念なことに異なるメニューがあります。 – Chris

+0

まあ、それは悪いです:( –

関連する問題