我是android.ini的新手。我想開發一個應用程序,通過使用藍牙以編程方式查找範圍內的設備。如果任何人有想法,請給我一些示例代碼。如何使用藍牙找到範圍內的設備?
6
A
回答
7
Find The Devices in the Range by using Bluetooth programmatically.
是的,你可以做到這一點使用BroadcastReceiver,看看下面的代碼,它會幫助你。
開始搜索
mBluetoothAdapter.startDiscovery();
mReceiver = new BroadcastReceiver() {
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
查找設備
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
mArrayAdapter.add(device.getName() + "\n" + device.getAddress());
}
}
};
IntentFilter filter = new IntentFilter(BluetoothDevice.ACTION_FOUND);
registerReceiver(mReceiver, filter);
1
創建撒施接收器類似下面,並添加你可能想使用方法startDiscovery設備信息
private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
ArrayList<HashMap<String, String> arl = new ArrayList<HashMap<String, String>();
// 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);
// If it's already paired, skip it, because it's been listed already
HashMap<String, String> deviceMap = new HashMap<String, String>();
deviceMap.put(device.getName(), device.getAddress());
arl.add(deviceMap);
// When discovery is finished, change the Activity title
} else if (BluetoothAdapter.ACTION_DISCOVERY_FINISHED.equals(action)) {
setProgressBarIndeterminateVisibility(false);
setTitle(R.string.select_device);
if (mNewDevicesArrayAdapter.getCount() == 0) {
String noDevices = getResources().getText(R.string.none_found).toString();
mNewDevicesArrayAdapter.add(noDevices);
}
}
}
};
+0
感謝蘇尼爾爲u'r response.this代碼不能正常工作,請發送完整的代碼。 – kiran
1
()。
我沒有一個示例代碼,但現在你可能想看看:http://developer.android.com/reference/android/bluetooth/BluetoothAdapter.html#startDiscovery%28%29
希望它能幫助!
相關問題
- 1. 如何在範圍內找到可用的藍牙設備?
- 2. 我如何獲得範圍內的藍牙設備的名稱?
- 3. 當範圍內自動連接到藍牙設備
- 4. 如何使用GameKit.framework獲取藍牙範圍內的設備列表?
- 5. Android的藍牙:顯示範圍內的設備附近
- 6. 範圍內設備的藍牙通知(Windows Mobile 6.5)
- 7. 藍牙範圍內事件配對設備
- 8. 當它們在範圍內時,自動查找已配對的藍牙設備
- 9. 使用Windows套接字進行藍牙編程 - 範圍內的設備
- 10. 使用藍牙識別潛在數千個範圍內的設備?
- 11. Java:如何查找藍牙設備?
- 12. 如何找到連接的藍牙設備的藍牙信號強度
- 13. 如何使用Android藍牙設備選取器檢索藍牙設備信息?
- 14. 找不到ID爲藍牙設備
- 15. 確定GKSession藍牙設備何時超出範圍
- 16. 將設備地址發送到Android中的ConnectThread(藍牙設備設備) - 藍牙
- 17. 如何連接到藍牙a2dp設備?
- 18. 連接到藍牙設備?
- 19. 如果在範圍內沒有設備,則Windows藍牙WSALookupServiceBegin返回WSASERVICE_NOT_FOUND(10108)?
- 20. 查看帶有藍牙範圍的Windows 7移動設備的設備#
- 21. 如何找到連接的藍牙設備的信號強度
- 22. 如何使用藍牙在ipod中查找其他設備?
- 23. iOS的藍牙LE回來到範圍
- 24. 如何找到串口藍牙設備的UUID?
- 25. 機器人藍牙設備超出範圍
- 26. 已知藍牙設備的Nodejs查找
- 27. 找到配對的Android藍牙設備是否在範圍內的正確方法?
- 28. 使用IOS設備的藍牙連接
- 29. 定期檢查藍牙設備是否在範圍內 - .NET Compact Framework
- 30. 如何更新藍牙設備的periphera.name?
+1爲已接受的答案。 – MKJParekh