2011-03-14 2 views
6

Je commence une intention de choisir une image de la galerie, mais l'intention revient toujours avec le résultat RESULT_CANCELED. J'ai essayé beaucoup de code différent mais rien ne m'aide à penser que je manque quelque chose, comme mettre quelque chose dans l'activité dans le manifeste d'Android?Android: Gallery intention retournant resultCode == RESULT_CANCELED

Mon code:

// The Intent 
Intent intent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI); 
startActivityForResult(intent, 0); 

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 

    super.onActivityResult(requestCode, resultCode, data); 

    if (resultCode == RESULT_OK){ 
     Uri targetUri = data.getData(); 
     Bitmap bitmap; 
     try { 
      bitmap = BitmapFactory.decodeStream(getContentResolver().openInputStream(targetUri)); 
      profileImage.setImageBitmap(bitmap); 
     } catch (FileNotFoundException e) { 
      e.printStackTrace(); 
     } 
    } 
} 

apprécierait un peu d'aide;)

+0

mettre votre activité finish() le code aussi –

+0

Hmm voulez-vous dire mettre fin() après startActivityForResult? La seule chose que cela fait pour moi est de terminer l'activité (que je ne veux pas, je veux revenir à la même activité) et toujours avec RESULT_CANCELED. – DecodeGnome

Répondre

16

OK donc je résolu cela. Mon problème s'est avéré être que la méthode onActivityResult() était appelée avant la fin de la galerie. J'ai trouvé la solution ici: onActivityResult() called prematurely

Fondamentalement, j'avais spécifié l'activité à "singleTask" dans le manifeste. Le changer en "singleTop" l'a résolu pour moi.

+0

J'ai rencontré le même problème lorsque le mode de lancement de mon activité était "singleInstance". Le changer pour "singleTop" a résolu mon problème. Merci de partager votre solution. –

+0

mais ce problème n'est pas résolu même en utilisant votre solution – Trikaldarshi

+0

Problème survenu lors de l'envoi du courrier – Trikaldarshi

1

Ça m'a sauvé la vie! \ 0/

android: launchMode = "singleTop"