Comment vérifier si Bluetooth est activé par programme?

Je voudrais vérifier si Bluetooth est activé sur tous les appareils Android périodiquement. Y a-t-il des intentions que j’acquerrais à l’aide de BroadcastReceiver, ou existe-t-il d’autres moyens de le faire?

Voilà:

BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); if (mBluetoothAdapter == null) { // Device does not support Bluetooth } else { if (!mBluetoothAdapter.isEnabled()) { // Bluetooth is not enable :) } } 

Avec uses-permission

   

J’ai ici une autre alternative pour répondre à cette question.

Ajoutez d’abord les lignes suivantes dans votre fichier manifeste.

  

Maintenant, où vous voulez vérifier la compatibilité Bluetooth, utilisez le code suivant.

 boolean isBluetoothSupported = getPackageManager().hasSystemFeature(PackageManager.FEATURE_BLUETOOTH); 
 public boolean isBluetoothEnabled() { BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); return mBluetoothAdapter.isEnabled(); } 

avec l’autorisation dans le fichier manifeste:

  

utiliser peut utiliser

 BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); 

pour vérifier bt connecté

 mBluetoothAdapter.getProfileConnectionState(BluetoothHeadset.HEADSET) == BluetoothHeadset.STATE_CONNECTED 

pour check bt déconnecté

 mBluetoothAdapter.getProfileConnectionState(BluetoothHeadset.HEADSET) == BluetoothHeadset.STATE_DISCONNECTED 

Pour vérifier l’état Bluetooth, ON ou OFF, par programmation:

  BluetoothAdapter btAdapter = ((Build.VERSION.SDK_INT > Build.VERSION_CODES.JELLY_BEAN_MR1) ?((BluetoothManager)mContext.getSystemService(Context.BLUETOOTH_SERVICE)).getAdapter() :(BluetoothAdapter.getDefaultAdapter())); if(btAdapter==null){ return; } if(btAdapter.getState()==BluetoothAdapter.STATE_ON){ //Bluetooth is ON } 

Vous pouvez également écouter l’action d’intention:

BluetoothAdapter.ACTION_STATE_CHANGED

Voici comment je l’ai fait avec l’aide de la réponse de @ xjaphx, version légèrement simplifiée:

  private boolean getBlueToothOn(){ BluetoothAdapter btAdapter = BluetoothAdapter.getDefaultAdapter(); return btAdapter != null && btAdapter.isEnabled(); }