2016-06-30 8 views
0

Je travaille sur une application Android qui utilise une connexion Bluetooth, et je veux lire les données de l'appareil dans l'application, mais j'ai besoin de savoir si je suis connecté au appareil avant de lire les données. Ci-dessous le code que j'ai qui lance les paramètres bluetooth où je peux coupler l'appareil. Comment puis-je vérifier que le périphérique que j'ai couplé a une connexion active à l'application et est prêt à envoyer des données?Comment détecter une connexion active à partir d'un périphérique Bluetooth utilisant Android SDK

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_connect); 

    Button btn = (Button) findViewById(R.id.connect_button); 

    btn.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      Intent intentOpenBluetoothSettings = new Intent(); 
      intentOpenBluetoothSettings.setAction(android.provider.Settings.ACTION_BLUETOOTH_SETTINGS); 
      startActivity(intentOpenBluetoothSettings); 
     } 
    }); 

    mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); 
    pairedDevices = mBluetoothAdapter.getBondedDevices(); 

Répondre

0

Paire et Connect sont deux concepts différents. Votre code seulement paires Un périphérique Bluetooth cible et en souvenir, dont les informations peuvent être récupérées en appelant:

BluetoothAdapter.getDefaultAdapter().getBondedDevices(); 

Cette fonction fait revenir toutes les informations des périphériques Bluetooth couplés même si ces appareils ne sont pas près de (se connecter à) tu téléphone.

Pour connecter un périphérique Bluetooth, vous devez écrire votre propre code de connexion et choisir un UUID spécifique pour indiquer à votre téléphone le type de connexion (série, audio, etc.) que vous souhaitez établir.

Pour en savoir plus sur la connexion à un périphérique Bluetooth, consultez le official document sous Connexion en tant que client.