是否有一個庫可以爲具有特定MAC的藍牙低功耗設備執行後臺掃描?我知道altbeacon這樣做,但似乎只適用於信標類型的BLE設備 - 而不是其他類型。或者有沒有一種方法可以爲此使用altbeacon?我只是想檢測某個設備是否處於打開狀態,並且範圍內 - 據我所知,這應該可能類似於信標 - 我只是沒有篩選廣告中的某些數據 - 僅針對mac。我可以實現這一點,但不想重新發明輪子連續掃描BLE-MAC
0
A
回答
0
我沒有爲你準備的圖書館,但我最近做了類似的工作,而且這很容易實現。
首先我做一個btAdapter.startLeScan(mLeScanCallback);
它運行在一個循環,並在回調我可以過濾MAC地址
private BluetoothAdapter.LeScanCallback mLeScanCallback =
new BluetoothAdapter.LeScanCallback() {
@Override
public void onLeScan(final BluetoothDevice device, final int rssi, final byte[] scanRecord) {
runOnUiThread(new Runnable() {
@Override
public void run() {
if (device.getAddress().equals("your mac address")){
//do your stuff
}
}
});
}
};
2
爲了給你一個強大的解決方案,它消耗少量的能量,並在所有操作系統版本的作品與他們不同的掃描API將成爲數百行復雜的代碼。我知道,因爲我已經完成了,請參閱https://github.com/iDevicesInc/SweetBlue/blob/master/src/com/idevicesinc/sweetblue/P_Task_Scan.java,瞭解您必須處理的一些細節。
所以,如果你在驗證的概念階段,只是想要的東西快,嘗試在你的Activity類以下使用SweetBlue:
// Wake lock might not be needed for your application, up to you.
BleManager.get(this).pushWakeLock();
BleManager.get(this).setConfig(new BleManagerConfig()
{{
scanMode = BleScanMode.LOW_POWER;
}});
BleManager.get(this).startPeriodicScan(Interval.FIVE_SECS, Interval.FIVE_SECS, new ScanFilter()
{
@Override public Please onEvent(ScanEvent e)
{
return Please.acknowledgeIf(e.macAddress().equals("DE:CA:FF:C0:FF:EE"));
}
});
這會給你掃描大約五秒鐘,五幾秒鐘後重復,直到您致電stopPeriodicScan()
。
+0
感謝 - upvoted,但尚未接受希望更好的方式(lib) – ligi
相關問題
- 1. 連續WifiManager掃描掃描結果
- 2. zxing連續掃描 - iphone
- 3. 連續掃描的代碼體
- 4. 掃描的給定輸入連續字
- 5. 掃描NFC卡片(連續)android
- 6. 用zxing連續掃描條形碼
- 7. 停止ZxingObjC中的連續掃描
- 8. BLE持續小時間間隔連續RSSI掃描爲Android
- 9. 掃描儀連接通知
- 10. 連續掃描iOS CoreBluetooth中央管理器?
- 11. 爲BLE掃描連續訂閱和取消訂閱Observable
- 12. 如何連續配置Datalogic M8300條形碼掃描器(C#)
- 13. 錯誤:在連續使用掃描儀類中加入整數
- 14. Android:連續掃描所有AP(接入點)
- 15. 繼續能夠輸入與掃描儀
- 16. 繼續使用掃描器獲取NoSuchElementException
- 17. 掃描,掃描儀類
- 18. 選擇主鍵:爲什麼Postgres的喜歡做連續掃描VS索引掃描
- 19. 一次掃描(掃描)和兩次掃描(掃描)之間的區別
- 20. 範圍掃描vs唯一掃描vs跳過掃描
- 21. Multipage WIA掃描(docfeeder)掃描1頁並阻止掃描器
- 22. 掃描儀不掃描我的輸入
- 23. 組件掃描不掃描子包
- 24. 使用掃描儀掃描txt文件
- 25. 使用掃描儀掃描Java輸入
- 26. 全表掃描或索引掃描
- 27. OCR掃描不顯示掃描輸出
- 28. 如何掃描聲納掃描儀
- 29. 掃描儀內的掃描儀錯誤
- 30. 掃描20次的Wifi掃描儀
是的 - 但問題是更多的是在後臺做,而不消耗太多精力 – ligi