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

Android Discussion :

Accéder aux attributs d'un Broadcast Receiver


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Etudiant du Genie Logiciel
    Inscrit en
    Juillet 2011
    Messages
    397
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Etudiant du Genie Logiciel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2011
    Messages : 397
    Par défaut Accéder aux attributs d'un Broadcast Receiver
    Salut a vous . j'ai une classe qui étend un BroadcastReceiver . ensuite j'ai une classe qui etend un service .

    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
     
    public class PowerConnectionReceiver extends BroadcastReceiver {
     
            public int batplug ;
    	public int plugged ;
    	public int battery ;
            public boolean present ;
     
    @Override
    	public void onReceive(Context context, Intent intent) {
    		// TODO Auto-generated method stub
    /*
    		 * entier indiquant si l'appareil est branche a une source d'alimentation 
    		 * 0 signifie qu'il est sur batterie , d'autres constantes sont des differentes ressources d'alimentation
    		 */
    		plugged= intent.getIntExtra(BatteryManager.EXTRA_PLUGGED,0);
     
    present= intent.getExtras().getBoolean(BatteryManager.EXTRA_PRESENT);
     
    if (present == true) {
     
    			battery = 1;
     
    		} else {
     
    			battery = 0;
     
    		}
     
    		if (plugged == BatteryManager.BATTERY_PLUGGED_AC) {
    			// on AC power
    			batplug = 1;
     
    		} else if (plugged == BatteryManager.BATTERY_PLUGGED_USB) {
    			// on USB power
    			batplug = 2;
    		}
    		else{
     
    			batplug = 0 ;
    		}
     
     
    		Log.v("plugged", "plugged " + plugged);
    		Log.v("present", "present " + present);
     
     
     
    }

    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
     
    public class Hel extends Service {
    PowerConnectionReceiver power ;
     
    @Override
    	public void onCreate() {
    		// Creation du service
     
    		Toast.makeText(this, "Service Created", Toast.LENGTH_SHORT).show();
    power = new PowerConnectionReceiver() ;
     
    registerReceiver(power, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
     
     
    @Override
    	public int onStartCommand(Intent intent, int flags, int startId) {
    		Toast.makeText(this, "Demarrage du service", Toast.LENGTH_SHORT).show();
     
    this.mpresent = power.battery ;
    this.mplugged = power.plugged ;
    }
     
    }
    le problème est que power.battery et power.plugged me renvoi des données incorrectes . bref ces attributs me renvoi zéro alors que je suis connecte a une source d'alimentation et j'ai un batterie dans mon téléphone

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Février 2008
    Messages
    658
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 658
    Par défaut
    Ce code n'est pas indenté..Sa lecture est tres difficile.

  3. #3
    Expert confirmé

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Billets dans le blog
    3
    Par défaut
    Le service démarre....
    Enregistre un broadcast receiver pour recevoir des données de la batterie.
    Et lit tout de suite l'état (alors que le receiver n'a à priori encore rien reçu).
    Donc tout est à 0.....

    Ensuite le service n'est même pas notifié par le receiver quand les valeurs changent.
    M'est d'avis que le service est inutile, un simple broadcast receiver est suffisant...
    Mais comme je ne sais pas le but recherché

Discussions similaires

  1. Accéder aux attributs d'un sous type
    Par 0sef40 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 09/11/2011, 12h21
  2. Réponses: 2
    Dernier message: 26/11/2009, 14h00
  3. Accéder aux Attributes
    Par Gregory.M dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 24/10/2008, 12h32
  4. [SimpleXML] Accéder aux attributs d'un objet
    Par DeezerD dans le forum Bibliothèques et frameworks
    Réponses: 10
    Dernier message: 28/08/2007, 16h39
  5. Réponses: 11
    Dernier message: 08/06/2006, 15h08

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