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 :

Recuperer l'Activité dans BroadcastReceiver


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2012
    Messages : 51
    Par défaut Recuperer l'Activité dans BroadcastReceiver
    Bonjour,
    Dans la class BroadcastReceiver du tuto standard de reception de SMS, j'aurais besoin de l'Activité dans la methode OnReceive. Or on ne dispose pas de cette info.
    Comment pourrais je la recuperer ??
    Merci d'avance.

    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
     
    public class SMSReceiver extends BroadcastReceiver 
    { 
    	private final String   ACTION_RECEIVE_SMS  = "android.provider.Telephony.SMS_RECEIVED"; 
     
        @Override
    	public void onReceive(Context context, Intent intent) 
    	{ 
    		{ 
    			int i;
    			//Toast.makeText(context, "Réception SMS V5", Toast.LENGTH_LONG).show();
    			String action = intent.getAction(); 
    			if (action.equals(ACTION_RECEIVE_SMS)) 
    			{ 
    				Bundle bundle = intent.getExtras(); 
    				if (bundle != null) 
    				{ 
    					Object[] pdus = (Object[]) bundle.get("pdus"); 
     
    					final SmsMessage[] messages = new SmsMessage[pdus.length]; 
    					for (  i = 0; i < pdus.length; i++)  {  messages[i] = SmsMessage.createFromPdu((byte[]) pdus[i]);  }
     
    					if (messages.length > -1)
    					{
    						lireMessage(messages[0]);
    					}
    				}
    			} 
     
    		}
    	}

  2. #2
    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
    Un broadcast receiver n'est lié à aucune activité... (le processus peut très bien ne pas être lancé). Pourquoi en aurais tu besoin ?

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2012
    Messages : 51
    Par défaut
    Je voudrais profiter de la reception d'un message pour lire les messages deja presents et ressortir tous ceux ayant un rapport avec le message recu, et, pour ce faire et sauf erreur de ma part, j'ai besoin de managedQuery qui est une méthode de l'Activité.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
            Uri uri0 = Uri.parse("content://sms");        
            try {
                //Query to the contentProvider
                managedCursor = managedQuery(uri0,null,null,null,null);
    .....

  4. #4
    Membre averti
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2012
    Messages : 51
    Par défaut
    Et tout ceci, sans qu'une application soit ouverte puisque le resultat doit etre sauvegardé et traité plus tard.

  5. #5
    Membre expérimenté Avatar de chpil
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Octobre 2011
    Messages : 143
    Par défaut
    Comme l'indique sa doc, managedQuery n'est qu'un wrapper sur la méthode query de ContentResolver, pour utilisation simplifiée dans une Activity.
    Mais tu peux très bien utiliser directement query de ContentResolver pour faire tes requêtes (il faudra par contre gérer toi-même la libération du Cursor, qui était automatique gérée par managedQuery)

  6. #6
    Membre averti
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2012
    Messages : 51
    Par défaut
    qu'est ce que tu entends par liberation du Cursor ?

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

Discussions similaires

  1. [JSP]recuperer session-timeout dans web.xml
    Par seb_fou dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 07/05/2004, 16h01
  2. Réponses: 3
    Dernier message: 22/02/2004, 20h09
  3. [VB.NET]Recuperation de variable dans un URL...
    Par seb_acsg dans le forum ASP.NET
    Réponses: 11
    Dernier message: 28/01/2004, 14h01
  4. Réponses: 2
    Dernier message: 19/01/2004, 12h19
  5. comment recuperer une variable dans flash
    Par krépuscul dans le forum Flash
    Réponses: 30
    Dernier message: 16/10/2003, 09h40

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