user3363258
user3363258

Reputation: 21

Clear the bluetooth name cache in android

I want to clear the blueooth cache. I'm making application about bluetooth.

I just knowed Android bluetooth device name is cached in the phone. (when phone find the bluetooth device)

I can't find solution anywhere. I just saw fetchUuidsWithSdp(). someone said it clears the bluetooth cache in android phone.

but I don't know how use this method and I don't think that fetchUuidsWithSdp() will clear the cache.

Please Let me know how to clear the bluetooth cache in Android or how to use fetchUuidsWithSdp().

Thanks:)

Upvotes: 2

Views: 2492

Answers (1)

The Good Giant
The Good Giant

Reputation: 1780

  1. Follow the instructions of the Android Guide in order to start the discovery.

  2. When declaring your IntentFilter, add (at least) ACTION_FOUND and ACTION_UUID :

    IntentFilter filter = new IntentFilter(BluetoothDevice.ACTION_FOUND);
    filter.addAction(BluetoothDevice.ACTION_UUID);
    
  3. Inside your receiver call fetchUuidsWithSdp(). You will get the UUIDs inside the ACTION_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());
                        }
    
                }
     }
    

Upvotes: 1

Related Questions