jka*_*001 8 api android bluetooth
我正在尝试检测蓝牙设备当前是否使用API 14或更高版本连接到Android设备.看起来我应该能够使用BluetoothSocket.isConnected()方法,但不管我做了什么,到目前为止,我只是因为任何事情得到了回报,无论是否连接.
AndroidManifest包含以下行:
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<!-- Locale 4.x supports API 14 or greater. -->
<uses-sdk android:minSdkVersion="14" android:targetSdkVersion="17" />
<uses-feature android:name="android.hardware.bluetooth" />
Run Code Online (Sandbox Code Playgroud)
并且有问题的代码:
protected void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Set<BluetoothDevice> pairedDevices = mBluetoothAdapter.getBondedDevices();
for (BluetoothDevice device : pairedDevices) {
Log.i(Constants.LOG_TAG, String.format(Locale.US, "Device: %s connected: %b", device.getName(), isConnected(device))); //$NON-NLS-1$z
}
}
private boolean isConnected(BluetoothDevice device) {
BluetoothSocket socket = null;
// Get a BluetoothSocket for a connection with the given BluetoothDevice
UUID SPP_UUID = UUID.fromString("00001101-0000-1000-8000-00805F9B34FB");
try {
socket = device.createRfcommSocketToServiceRecord(SPP_UUID);
} catch (IOException e) {
Log.e(Constants.LOG_TAG, e.getMessage()); //$NON-NLS-1$z
return false;
}
Log.i(Constants.LOG_TAG, socket.toString()); //$NON-NLS-1$z
return socket.isConnected();
}
Run Code Online (Sandbox Code Playgroud)
不会抛出任何错误,它只会在100%的时间内返回"false".有什么东西我做得不对吗?
归档时间: |
|
查看次数: |
3890 次 |
最近记录: |