IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

API standards et tierces Android Discussion :

Afficher les périphiques bluetooth disponibles.


Sujet :

API standards et tierces Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2016
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2016
    Messages : 61
    Par défaut Afficher les périphiques bluetooth disponibles.
    Bonjour !

    Je n'arrive pas à afficher les périphériques bluetooth dans une listview ; j'ai besoin d'aide svp.. Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    public class Bluetooth extends AppCompatActivity {
     
        @Override
        protected void onCreate(Bundle savedInstanceState) {
     
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_bluetooth);
            ArrayAdapter<String> btArrayAdapter = new ArrayAdapter<String>(Bluetooth.this, android.R.layout.simple_list_item_1);
            final ListView Deviceslist = (ListView)findViewById(R.id.listView1);
            final Button scanb = (Button)findViewById(R.id.button);
            final BluetoothAdapter bluetoothAdapter =
                    BluetoothAdapter.getDefaultAdapter();
     
            scanb.setOnClickListener(new View.OnClickListener()
            {
                public void onClick(View v)
                {
                    ArrayAdapter<String> btArrayAdapter = new ArrayAdapter<String>(Bluetooth.this, android.R.layout.simple_list_item_1);
                    btArrayAdapter.clear();
                    bluetoothAdapter.startDiscovery();
                    Toast.makeText(Bluetooth.this, "Scanning Devices", Toast.LENGTH_LONG).show();
                    Deviceslist.setAdapter(btArrayAdapter);
     
                }
            });
     
            registerReceiver(FoundReceiver, new IntentFilter(BluetoothDevice.ACTION_FOUND));
     
     
        }
        @Override
        protected void onDestroy() {
            // TODO Auto-generated method stub
            super.onDestroy();
            unregisterReceiver(FoundReceiver);
        }
     
        private final BroadcastReceiver FoundReceiver = new BroadcastReceiver(){
            @Override
            public void onReceive(Context context, Intent intent) {
                // TODO Auto-generated method stub
                String action = intent.getAction();
                ArrayAdapter<String> btArrayAdapter = new ArrayAdapter<String>(Bluetooth.this, android.R.layout.simple_list_item_1);
                if(BluetoothDevice.ACTION_FOUND.equals(action)) {
                    BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
                    btArrayAdapter.add(device.getName() + "\n" + device.getAddress());
                    btArrayAdapter.notifyDataSetChanged();
                 }
            }};
     
     
    }

  2. #2
    Membre éprouvé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mars 2016
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Espagne

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2016
    Messages : 80
    Par défaut
    Hello,

    Tu dois passer la liste des devices, essaie ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    private final BroadcastReceiver FoundReceiver = new BroadcastReceiver(){
            @Override
            public void onReceive(Context context, Intent intent) {
                // TODO Auto-generated method stub
    			private ArrayList<String> mDeviceList = new ArrayList<String>();
                String action = intent.getAction();
     
                if(BluetoothDevice.ACTION_FOUND.equals(action)) {
                    BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
    				mDeviceList.add(device.getName() );
                    listView.setAdapter(new ArrayAdapter<String>(context,android.R.layout.simple_list_item_1, mDeviceList));
                 }
            }};
    Jérémy.

  3. #3
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2016
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2016
    Messages : 61
    Par défaut
    Citation Envoyé par choukie12 Voir le message
    Hello,

    Tu dois passer la liste des devices, essaie ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    private final BroadcastReceiver FoundReceiver = new BroadcastReceiver(){
            @Override
            public void onReceive(Context context, Intent intent) {
                // TODO Auto-generated method stub
    			private ArrayList<String> mDeviceList = new ArrayList<String>();
                String action = intent.getAction();
     
                if(BluetoothDevice.ACTION_FOUND.equals(action)) {
                    BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
    				mDeviceList.add(device.getName() );
                    listView.setAdapter(new ArrayAdapter<String>(context,android.R.layout.simple_list_item_1, mDeviceList));
                 }
            }};
    Jérémy.
    Mercii Jéremy sa fonctionne ! Cependant si par exemple il y a deux appareil de disponible, cela efface le précedent au lieu de le mettre en dessous, listview ne passais j'ai donc mis le nom de ma listview la place... Mais maintenant j"aimerai lorsque je clique dessus, qu'il effectue une connexion avec le périphériques.. Merci !

  4. #4
    Membre éprouvé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mars 2016
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Espagne

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2016
    Messages : 80
    Par défaut
    Hello,

    Désolé du temps de réponse.

    Dans un onclickListener de ta listView tu peux faire un code du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    //liste de tes devices bluetooth
                    maliste.setOnItemClickListener(new OnItemClickListener() {
                        @Override
                        public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
                                long arg3) {   
     
                            mBluetoothAdapter.cancelDiscovery();
                            final String info = ((TextView) arg1).getText().toString();
     
                           //Récupération de l'adress du device que tu veux connecter
                            String address = info.substring(info.length()-19);
     
                              //Récupération du device
                              BluetoothDevice connect_device = mBluetoothAdapter.getRemoteDevice(address);
     
                        try {
                            socket = connect_device.createRfcommSocketToServiceRecord(my_UUID);
                            socket.connect();
                        } catch (IOException e) {
                            e.printStackTrace();
                        }
     
                        }
                    });
    Jérémy.

  5. #5
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2016
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2016
    Messages : 61
    Par défaut
    Merci Jeremy je vais essayer sa des que possible ; mais dis moi tu a une idée du pourquoi , les devices ne s'affichent pas tous. Ils sont remplacé des qu'un nouveau est trouve ? Merci

  6. #6
    Membre éprouvé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mars 2016
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Espagne

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2016
    Messages : 80
    Par défaut
    Hello,

    Oui je pense savoir, car j'ai peut être dit une bêtise ahah.


    A la place de ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if(BluetoothDevice.ACTION_FOUND.equals(action)) {
                    BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
    				mDeviceList.add(device.getName() );
                    listView.setAdapter(new ArrayAdapter<String>(context,android.R.layout.simple_list_item_1, mDeviceList));
                 }

    Met ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    if(BluetoothDevice.ACTION_FOUND.equals(action)) {
                 BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
                 btArrayAdapter.add(device.getName() + "\n" + device.getAddress());
                 btArrayAdapter.notifyDataSetChanged();
             }

    Jérémy.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] afficher les chambres disponibles
    Par ezelbatchen dans le forum PHP & Base de données
    Réponses: 29
    Dernier message: 13/06/2013, 14h18
  2. Réponses: 1
    Dernier message: 22/01/2013, 10h06
  3. d'afficher les partitions disponibles de disque
    Par memo11 dans le forum Windows XP
    Réponses: 1
    Dernier message: 27/01/2010, 19h01
  4. Réponses: 5
    Dernier message: 27/04/2007, 14h43
  5. Afficher les bonnes facettes
    Par WormsHL-Groove dans le forum OpenGL
    Réponses: 3
    Dernier message: 26/08/2002, 21h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo