Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Android]Ouvrir découverte périphériques Bluetooth

    27 janvier 2013 à 17:20:14

    Bonjour à tous !

    J'ai un petit soucis avec la petite application que je développe...

    Sur la 1ère page, j'ai créer un bouton "Se connecter".
    Au clic de ce bouton, je souhaite que le bluetooth du téléphone s'allume automatiquement et qu'une recherche des périphériques alentour s'affiche.

    L'allumage du bluetooth fonctionne, mais pas la recherche...

    Pour la recherche, je fais ça :

    /*
    		 * Découverte des appareils Bluetooth 
    		 */
    		Intent discoverableIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE);
    		discoverableIntent.putExtra(BluetoothAdapter.EXTRA_DISCOVERABLE_DURATION, 300);
    		startActivity(discoverableIntent);

    Mais l'application se ferme... (bug)

    Voici le code de ma classe bluettoth :

    package com.test;
    
    import java.util.Set;
    
    import android.bluetooth.BluetoothAdapter;
    import android.bluetooth.BluetoothDevice;
    import android.content.Context;
    import android.content.Intent;
    import android.util.Log;
    import android.widget.Toast;
    import android.app.Activity;
    import android.bluetooth.BluetoothAdapter;
    import android.content.Intent;
    import android.os.Bundle;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Toast;
    import android.widget.ToggleButton;
    
    
    public class Bluetooth {
    
    	
    	public Bluetooth() {
    		
    		String TAG;
    		
    		/*
    		 * Accès au Bluetooth de l'appareil
    		 */
    		BluetoothAdapter bluetooth = BluetoothAdapter.getDefaultAdapter();
    		if(bluetooth != null)
    		{
    		    // Continue si le bluetooth est présent
    		
    		/*
    		 * Allumage du Bluetooth
    		 */
    		if (!bluetooth.isEnabled()) {
    		    bluetooth.enable();
    		}
    		else
    		{
    		    status = "Bluetooth non activé.";
    		}
    		Toast.makeText(getApplicationContext(), status, Toast.LENGTH_LONG).show();
    		*/
    		/*
    		 * Découverte des appareils Bluetooth 
    		 */
    		Intent discoverableIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE);
    		discoverableIntent.putExtra(BluetoothAdapter.EXTRA_DISCOVERABLE_DURATION, 300);
    		startActivity(discoverableIntent);
    		
    	//	bluetooth.startDiscovery();
    		
    		/*
    		 * Test si l'appareil est bien connecté en bluetooth 
    		 */
    
    		Set<BluetoothDevice> pairedDevices = bluetooth.getBondedDevices();
    	    if (pairedDevices.size() != 0)
    	    {
    	        // les 2 appareils sont connectés
    	        for (BluetoothDevice device : pairedDevices)
    	        {
    	            Log.i(TAG, "Nom de l'appareil: " + device.getName());
    	            Log.i(TAG, "Adresse de l'appareil: " + device.getAddress());
    	          
    	        }
    	    }
    	}
    	}
    	
    	private static Context getApplicationContext() {
    		// TODO Auto-generated method stub
    		return null;
    	}
    }
    

    Pouvez-vous m'aider SVP ?



    • Partager sur Facebook
    • Partager sur Twitter
      28 janvier 2013 à 9:09:06

      Déjà je pense avoir trouvé une erreur, je faisais le code dans le constructeur...

      J'ai placé le code dans une méthode (en dessous du constructeur Bluetooth, que j'ai laissé vide)

      Mais le résultat est le même !

      Pouvez-vous m'aider SVP ?

      • Partager sur Facebook
      • Partager sur Twitter
        26 février 2013 à 0:17:23

        bonjours , voila j'ai eu le meme soucis que toi ! aprés plusieurs tentative j'ai fini par trouvé une solution : 

        donc il faut pas passer par intente . force le a se connecter directement avec la méthode       myBluetoothAdapter. enable() puis otes la parties ou ya le code de intente et passes directement au myBluetoothAdapter.startDiscovery()  aprés executes ta boucle tranquille  et crée un table de hashage ou une liste pour stocker les périphérique trouvé ( t'en auras besoin aprés pour etablir une connexion ) 

        • Partager sur Facebook
        • Partager sur Twitter

        [Android]Ouvrir découverte périphériques Bluetooth

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown