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 :

[Bluetooth] Transmettre des données entre Broadcast et Class


Sujet :

API standards et tierces Android

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Janvier 2013
    Messages : 12
    Points : 9
    Points
    9
    Par défaut [Bluetooth] Transmettre des données entre Broadcast et Class
    Bonjour,
    Je susi en train de développer une application Android qui utilise le Bluetooth, et j'utilise un BroadcastReceiver pour la recherche de peripherique Bluetooth,
    J'aimerais pouvoir transmettre des données entre mon broadcastReceiver et la classe dans lequel je l'appel, en particulier je créer l'Arraylist dans le broadcast et y ajoute tous les appareils trouvés, puis j'aimerais envoyé cette list a la fin de la recherche Bluetooth à la class qui la créer.

    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
    public class BroadcastRechercheBluetooth extends BroadcastReceiver {
     
    	protected Activity context;
    	protected InteractionActivity UInterface;
    	public ArrayList<BluetoothDevice> devicesBT;
    	public ArrayList<String> nomDevicesBT;
     
    	public BroadcastRechercheBluetooth(Activity context) {
    		this.devicesBT = new ArrayList<BluetoothDevice>();
    		this.nomDevicesBT = new ArrayList<String>();
    		this.UInterface = new InteractionActivity(context);
    	}
     
    	public void onReceive(Context context, Intent intent) {
    		String action = intent.getAction();
     
    	   if(BluetoothAdapter.ACTION_DISCOVERY_STARTED.equals(action))
    	       UInterface.toast("Decouverte des peripherique en cours");
     
           if (BluetoothDevice.ACTION_FOUND.equals(action)) {
               BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
               this.devicesBT.add(device);
               this.nomDevicesBT.add(device.getName());
               UInterface.toast(device.getName()+" "+device.getAddress());
           }
           if (BluetoothAdapter.ACTION_DISCOVERY_FINISHED.equals(action))
               UInterface.toast("Decouverte des peripherique termine");
     
     
    	}
     
    	public ArrayList<BluetoothDevice> getListDevicesBT() {
    		return devicesBT;
    	}	
    	public ArrayList<String> getListNomDevicesBT() {
    		return nomDevicesBT;
    	}	
    }
    La classe qui crée le broadcast

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    	public void rechercheDevices() {
     
    		recherchePeripheriqueBT = new BroadcastRechercheBluetooth(context);
     
    		if(blueAdapter.isEnabled() && !blueAdapter.isDiscovering()){
    	    	blueAdapter.startDiscovery();
    	    	this.context.registerReceiver(recherchePeripheriqueBT, new IntentFilter(BluetoothAdapter.ACTION_DISCOVERY_STARTED));
    	    	this.context.registerReceiver(recherchePeripheriqueBT, new IntentFilter(BluetoothDevice.ACTION_FOUND));
    	    	this.context.registerReceiver(recherchePeripheriqueBT, new IntentFilter(BluetoothAdapter.ACTION_DISCOVERY_FINISHED));
    	    }
     
    	}

  2. #2
    Expert éminent

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Points : 9 149
    Points
    9 149
    Par défaut
    Bonjour,

    Tu as l'Activity dans ton broadcast donc tu peux l'utiliser en appelant une de ces fonctions.

    Si tu ne veux pas utiliser l'Activity car tu considère l'objet trop lourd, alors passe par un Handler.
    Responsable Android de Developpez.com (Twitter et Facebook)
    Besoin d"un article/tutoriel/cours sur Android, consulter la page cours
    N'hésitez pas à consulter la FAQ Android et à poser vos questions sur les forums d'entraide mobile d'Android.

Discussions similaires

  1. transmettre des données entre macro et tableur
    Par guynux dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 04/02/2012, 11h56
  2. Transmettre des données entre 2 WebForms
    Par tiamo dans le forum ASP.NET
    Réponses: 5
    Dernier message: 26/07/2011, 09h28
  3. Réponses: 14
    Dernier message: 29/04/2009, 09h39
  4. API qui donne la différence des données entre 2 classes ?
    Par elitost dans le forum API standards et tierces
    Réponses: 6
    Dernier message: 18/04/2006, 11h07
  5. transmettre des infos entre 2 forms ?
    Par mikyfpc dans le forum C++Builder
    Réponses: 7
    Dernier message: 01/02/2004, 11h03

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