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 :

A quoi sert l'argument requestCode dans PendingIntent getActivity


Sujet :

Android

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    415
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 415
    Points : 125
    Points
    125
    Par défaut A quoi sert l'argument requestCode dans PendingIntent getActivity
    Bonjour,

    je voudrais savoir quelle est l'utilité de l'argument requestCode dans la méthode PendingIntent.getActivity(Context context, int requestCode, Intent intent, int flags)

    je m'en sert pour créer une alarme

    merci

  2. #2
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2014
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2014
    Messages : 70
    Points : 59
    Points
    59
    Par défaut
    Salut,

    Le requestCode est un code de demande de requête.. haha

    Trêve de plaisanterie, c'est un entier qui va identifier la demande (requète) de ton intent

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    static final int PICK_CONTACT_REQUEST = 1;  // The request code
    ...
    private void pickContact() {
        Intent pickContactIntent = new Intent(Intent.ACTION_PICK, Uri.parse("content://contacts"));
        pickContactIntent.setType(Phone.CONTENT_TYPE); // Show user only contacts w/ phone numbers
        startActivityForResult(pickContactIntent, PICK_CONTACT_REQUEST);
    }

    Dés lors, dés que tu recevra le résultat de l'intent, il l'identifiera grâce au requestCode pour déterminer comment la manipuler.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        // Check which request we're responding to
        if (requestCode == PICK_CONTACT_REQUEST) {
            // Make sure the request was successful
            if (resultCode == RESULT_OK) {
                // The user picked a contact.
                // The Intent's data Uri identifies which contact was selected.
     
                // Do something with the contact here (bigger example below)
            }
        }
    }

    Comme sa dans ton onActivityResult tu peux identifier les Intents et pouvoir faire ce que tu veux en fonction de leurs valeurs du requestCode.

  3. #3
    Expert éminent

    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
    Points : 7 618
    Points
    7 618
    Billets dans le blog
    3
    Par défaut
    Non mais il parle des PendingIntent hein !

    Les "Intent" en général sont assez complexes, car non seulement ils permettent de changer d'application, mais en prime permettent de transférer des droits temporaires sur des éléments auxquels la cible ne pourrait pas accéder sinon.

    Les "PendingIntent" sont des Intent "en réserve" qui peuvent être transformés en "Intent" par n'importe quelle application. Afin d'éviter de trop polluer ils sont partagés... c'est à dire que deux appels successifs à PendingIntent.getActivity() renverra *le même objet* si l'action, l'url et deux ou trois autres trucs sont identiques.
    Et cette comparaison n'inclut pas les "extra" par exemple.

    Créez deux pending intent, avec des extra différents, et seul le premier sera utilisé.

    Toutefois, le "requestCode" des pending-intent permet de différencier des PendingIntent qui seraient autrement identique.
    Imaginons par exemple 2 widgets, avec un "bouton" vers une activité (et des extras différents)... on aura le même PendingIntent *sauf* à utiliser des requestCode différents.
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    415
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 415
    Points : 125
    Points
    125
    Par défaut
    c'est bien ce que je pensais, merci.

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

Discussions similaires

  1. A quoi sert commit et rollback dans mysql
    Par malvax dans le forum Débuter
    Réponses: 2
    Dernier message: 09/04/2009, 22h58
  2. À quoi sert l'onglet identifiant dans PowerAMC 11 ?
    Par beegees dans le forum PowerAMC
    Réponses: 2
    Dernier message: 17/08/2008, 19h06
  3. A quoi sert ce zéro (0) dans ce code ?
    Par andres007 dans le forum Accès aux données
    Réponses: 3
    Dernier message: 19/02/2007, 23h42
  4. [debutant] a quoi sert un serveur DNS dans un reseau local
    Par passion_info dans le forum Windows Serveur
    Réponses: 4
    Dernier message: 05/10/2006, 12h25
  5. Réponses: 3
    Dernier message: 21/05/2006, 17h14

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