是否有可能創建一個可以偵聽附近設備並將設備信息記錄到文件的服務?Android藍牙 - 用於記錄附近藍牙設備的服務
0
A
回答
0
是的,這是非常可能的
第一步你需要創建一個服務
第二步你需要BluetoothDevice.ACTION_FOUND廣播接收機尋找附近的設備。
第3步然後你就可以查詢全部由一個找到的設備之一。
第4步正如你將快速枚舉發現設備轉儲文件裏面的信息。
下面是廣播接收機
private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
// When discovery finds a device
if (BluetoothDevice.ACTION_FOUND.equals(action)) {
// Get the BluetoothDevice object from the Intent
BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
// Add the name and address to an array adapter to show in a ListView
// You will log this information into file.
mArrayAdapter.add(device.getName() + "\n" + device.getAddress());
}
}
};
註冊的廣播接收器的意圖行動如下
IntentFilter filter = new IntentFilter(BluetoothDevice.ACTION_FOUND);
registerReceiver(mReceiver, filter); // Don't forget to unregister during onDestroy
希望這有助於。
1
是的,你的服務可以偵聽新的藍牙設備,如VIPUL沙阿描述,但真正的問題是你如何使你的設備找到擺在首位其它藍牙設備。當遠程設備發現期間找到
ACTION_FOUND被髮送。您可以撥打BluetoothAdapter.startDiscovery()來啓動發現過程,但問題是通常可發現的設備非常少。幾年前,通常設備始終保持可發現狀態,但現在,用戶需要根據需要暫時發現設備以配對設備。
所以,它沒有任何意義有周期性確實發現一個服務(和監聽ACTION_FOUND),不僅因爲它消耗了大量的電池,並因爲你不會找到任何東西。
如果你知道你正在尋找的,那麼你可以嘗試連接到這些設備的藍牙地址,但我認爲不是這樣的。
相關問題
- 1. 掃描附近的藍牙設備
- 2. iPhone - 檢測附近的藍牙設備
- 3. Android藍牙服務禁用
- 4. 藍牙服務
- 5. Android藍牙設備緩存
- 6. 查詢藍牙設備android
- 7. Android。連接藍牙設備
- 8. UUID藍牙和Android設備
- 9. Android藍牙喚醒設備
- 10. Android藍牙設備UUID
- 11. Android搜索藍牙設備
- 12. 藍牙SPP和其他藍牙服務
- 13. Android的藍牙:顯示範圍內的設備附近
- 14. Android中的藍牙服務
- 15. 通過藍牙檢測附近的另一個Android設備
- 16. 將設備地址發送到Android中的ConnectThread(藍牙設備設備) - 藍牙
- 17. Android藍牙服務發現
- 18. Android藍牙連接另一個藍牙設備
- 19. 如何使用Android藍牙設備選取器檢索藍牙設備信息?
- 20. 將藍牙Android客戶端連接到藍牙Java服務器
- 21. 從Android藍牙設備選取器獲取藍牙設備信息
- 22. Android上的藍牙發現 - 有沒有辦法知道附近是否有藍牙設備?
- 23. 在Android設備上啓用藍牙(LGP500)
- 24. Android藍牙設備選擇器使用
- 25. 使用藍牙連接Android設備?
- 26. 使用藍牙4.01連接藍牙LE設備
- 27. iOS藍牙通知應用程序藍牙設備連接時
- 28. 32feet.net如何發現附近的藍牙設備異步在c#
- 29. 如何通過藍牙獲取ios設備的附近信息
- 30. Android SPP藍牙到非Android設備
你嘗試過什麼嗎? – Sam