我想清除蓝牙缓存。 我正在申请蓝牙。
我刚才知道Android蓝牙设备名称已缓存在手机中。 (当手机找到蓝牙设备时)
我无法在任何地方找到解决方案。 我刚看到 fetchUuidsWithSdp()。 有人说它清除了android手机中的蓝牙缓存。
但我不知道如何使用这种方法,我不认为 fetchUuidsWithSdp()会清除缓存。
请告诉我如何清除Android中的蓝牙缓存或如何使用fetchUuidsWithSdp()。
感谢:)
答案 0 :(得分:1)
按照Android Guide的说明开始发现。
在声明您的IntentFilter时,添加(至少)ACTION_FOUND和ACTION_UUID:
IntentFilter filter = new IntentFilter(BluetoothDevice.ACTION_FOUND);
filter.addAction(BluetoothDevice.ACTION_UUID);
在接收者中调用fetchUuidsWithSdp()。 您将在ACTION_UUID中获取UUID:
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);
// get fresh uuids
device.fetchUuidsWithSdp();
}
else if (BluetoothDevice.ACTION_UUID.equals(action)) {
// Get the device and teh uuids
BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
Parcelable[] uuidExtra = intent.getParcelableArrayExtra(BluetoothDevice.EXTRA_UUID);
if(uuidExtra !=null){
for (Parcelable uuid : uuidExtra) {
Log.d("YOUR_TAG", "Device: " + device.getName() + " ( "+ device.getAddress() +" ) - Service: " + uuid.toString());
}
}
}