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
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
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.
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
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager