Autore Topic: startActivityForResult non ritorna nessun risultato  (Letto 728 volte)

Offline ptbaileys

  • Nuovo arrivato
  • *
  • Post: 10
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Mac OSX Lion, Ubuntu, Windows xp, Windows 7, Fedora
startActivityForResult non ritorna nessun risultato
« il: 22 Agosto 2012, 17:23:59 CEST »
0
Ciao Ragazzi
ho un "errore" fastidioso nella mia app vi spiego:
devo selezionare dell'album una foto, la selezione mi ritorna l'uri(data) e con l'uri riesco ad elaborare l'immagine. Fin qui tutto ok

startActivityForResult(new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI), 1);


@Override
   protected void onActivityResult(int requestCode, int resultCode, Intent data) {   
      super.onActivityResult(requestCode, resultCode, data);   
      if(requestCode == 1 && resultCode == Activity.RESULT_OK) {
         ...

avendo 3 smartphone Android ogni tanto li uso per testare l'app:
2.2 OK
4.0 OK
4.0.3 la selezione sembra che la prende ma anche in debug non torna mai il risultato in onActivityResult, aggiungo che resta aperto l'album in cui posso selezionare a vuoto per un tempo infinito.

Ho provato a togliere la microsd e utilizzare
startActivityForResult(new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.INTERNAL_CONTENT_URI),1) ma stesso risultato.

L'htc l'ho aggiornato ieri e con il sistemo operativo non aggiornato alla 4.0.3 andava benissimo la selezione.

Vi prego aiutatemi
Grazie in anticipo

Offline ptbaileys

  • Nuovo arrivato
  • *
  • Post: 10
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Mac OSX Lion, Ubuntu, Windows xp, Windows 7, Fedora
Re:startActivityForResult non ritorna nessun risultato
« Risposta #1 il: 22 Agosto 2012, 17:33:06 CEST »
0
Aggiungo che dopo aver chiamato startActivityForResult se premo back onActivityResult funziona benissimo.


Rettifica:
Instagram e Facebook danno lo stesso errore e stesso comportamento
Google+ utilizza un album proprio per l'app e funziona
« Ultima modifica: 22 Agosto 2012, 17:52:57 CEST da ptbaileys »

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:startActivityForResult non ritorna nessun risultato
« Risposta #2 il: 22 Agosto 2012, 18:00:32 CEST »
0
Il problema non è banale. Potresti provare a mettere un Log.d() per vedere se almeno entra nell onActivityResult.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline ptbaileys

  • Nuovo arrivato
  • *
  • Post: 10
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Mac OSX Lion, Ubuntu, Windows xp, Windows 7, Fedora
Re:startActivityForResult non ritorna nessun risultato
« Risposta #3 il: 22 Agosto 2012, 18:19:07 CEST »
0
messi tutti i tipi di log ma non ci torna mai tranne se si preme back

Mi sa tanto che la 4.0.3 ha un bug...QUESTO
« Ultima modifica: 22 Agosto 2012, 18:43:23 CEST da ptbaileys »

jfrankie

  • Visitatore
Re:startActivityForResult non ritorna nessun risultato
« Risposta #4 il: 22 Agosto 2012, 22:52:32 CEST »
0
Io uso questo codice:


Codice (Java): [Seleziona]
private final void runGallery() {
         Intent intent = new Intent();
         intent.setType("image/*");
         intent.setAction(Intent.ACTION_GET_CONTENT);
         intent.addCategory(Intent.CATEGORY_OPENABLE);
         startActivityForResult(intent, SELECT_PICTURE);
      }

      protected void onActivityResult(int requestCode, int resultCode, Intent imageReturnedIntent) {
          super.onActivityResult(requestCode, resultCode, imageReturnedIntent);

          switch(requestCode) {
          case SELECT_PICTURE:
              if(resultCode == RESULT_OK){  
                  Uri selectedImage = imageReturnedIntent.getData();
                  String[] filePathColumn = {MediaStore.Images.Media.DATA};

                  Cursor cursor = getContentResolver().query(selectedImage, filePathColumn, null, null, null);
                  cursor.moveToFirst();

                  int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
                  String filePath = cursor.getString(columnIndex);
                  cursor.close();


                  bkgImg = BitmapFactory.decodeFile(filePath);
              }
          }
      }

Offline ptbaileys

  • Nuovo arrivato
  • *
  • Post: 10
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Mac OSX Lion, Ubuntu, Windows xp, Windows 7, Fedora
Re:startActivityForResult non ritorna nessun risultato
« Risposta #5 il: 10 Settembre 2012, 16:28:26 CEST »
0
Grazie mille jfrankie
provo la tua soluzione e ti dico

Offline ptbaileys

  • Nuovo arrivato
  • *
  • Post: 10
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Mac OSX Lion, Ubuntu, Windows xp, Windows 7, Fedora
Re:startActivityForResult non ritorna nessun risultato
« Risposta #6 il: 10 Settembre 2012, 16:48:01 CEST »
0
L'errore credo sia stato proprio in fase di aggiornamento di os, htc ripristinato, aggiornato e va perfettamente...
Grazie per l'aiuto