メニューを閉じる

テクノモバイルグループ

メニューを開く

2019.07.17

プログラミング

Android で BluetoothLeScanner.startScan はそのうち止まるから stop & start で回避しよう

坂東です。

Android で BluetoothLeScanner.startScan がそのうち止まる。

 

BLE機器と連携するために、これやるじゃないですか。

 

すると、そのうち、mScanCallbackがコールされなくなるんです。
どのくらいの時間で起こるか検証すると10分〜1時間くらい。結構バラバラ。

いろいろログ埋め込んでLogCat見ると、エラーもなく前触れ無くバツンッっとScanが止まってる感じ。

 

不具合だと騒ぐのは簡単ですが、私はAndroidのBT周りの実装は雑で挙動も端末ごとにフリーダムであることを経験しています。
BluetoothLeScannerはハードの管轄で自我を持っているのでOSじゃ制御しきれないのでしょう。
手元の端末だと「長時間可動すると落とす」っぽい。
あと「電池が減った」というトリガも端末によってはありそうだなと想像。

 

で私はタイマー60秒で .stopScan() .startScan() を繰り返しBluetoothLeScannerを叩き起こす事でこの問題を回避することにしたのでした。
2時間くらい放置してるけどうまく動いている。

 

おわり。

 


【テクノモバイルではエンジニア/デザイナーを積極採用中です!】

下記項目に1つでも当てはまる方は是非、詳細ページへ!
  • 自分でアプリを作ってみたい
  • ITで世の中にワクワクを生み出したい
  • 使いやすさ、デザインにこだわったWebサイトを開発したい

採用情報の詳細はこちら


Qangaroo(カンガルー)

  • 徹底した見やすさと優れた操作性で、テストの「見える化」を実現。
  • テストの進捗が見える。開発がスマートに進む。
  • クラウド型テスト管理ツール『Qangaroo(カンガルー)』
https://qangaroo.jp/

最近の記事

SNS共有

X CLOSE
X CLOSE
X CLOSE