Autore Topic: Problema con createChooser ( ritorno all'activity chiamante )  (Letto 471 volte)

Offline magnus

  • Nuovo arrivato
  • *
  • Post: 8
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Iconia Tab A500
  • Sistema operativo:
    Windows 7
Problema con createChooser ( ritorno all'activity chiamante )
« il: 15 Luglio 2013, 12:22:11 CEST »
0
Ciao ragazzi,
ho un problema con il seguente codice:

public void condividi(View view){
       final String _user = settings.getString("username","");
       final String _punteggio = settings.getString("punteggioSalvato","");
       Intent i = new Intent(Intent.ACTION_SEND);
       i.setType("text/plain");
       i.putExtra(Intent.EXTRA_TEXT, "Gli enigmi del Dr Magnus e del suo gatto Ciccio);
       startActivityForResult(Intent.createChooser(i, "Share"),0);
}

Il codice funziona correttamente per quanto riguarda la condivisione ( ad esempio apre l'app di facebook e permette di cliccare sul tasto condividi ) ma non appena condivisio il link la mia applicazione va in background.
Nel senso che non viene passato nuovamente il controllo all'applicazione che ha lanciato lo chooser e quindi sembra che l'applicazione si sia chiusa.

Come fare per ritornare ( dopo la condivisione ) all'activity che ha chiamato lo chooser?

Grazie mille.

Offline teskio

  • Moderatore globale
  • Utente normale
  • *****
  • Post: 387
  • Respect: +118
    • Github
    • Google+
    • Mostra profilo
    • Skullab
  • Dispositivo Android:
    Cubot GT99 / SurfTab Ventos 10.1
  • Play Store ID:
    Skullab Software
  • Sistema operativo:
    windows 7 / ubuntu 12.04
Re:Problema con createChooser ( ritorno all'activity chiamante )
« Risposta #1 il: 15 Luglio 2013, 17:14:09 CEST »
0
public void startActivityForResult (Intent intent, int requestCode, Bundle options)
...
Parameters
intent    The intent to start.
requestCode    If >= 0, this code will be returned in onActivityResult() when the activity exits.
options    Additional options for how the Activity should be started. See Context.startActivity(Intent, Bundle) for more details.

Per maggiori informazioni :
Getting a Result from an Activity | Android Developers
Intent | Android Developers (createChooser)

EDIT :
Il problema, nel tuo caso, è che l'intent chooser prende il controllo dell'activity e propaga il tasto "back" anche all'activity principale...non so se può risolvere semplicemente facendo l'override del metodo onBackPressed...prova
Alternativa potrebbe essere creare il tasto di "share" nell'Action Bar
« Ultima modifica: 15 Luglio 2013, 17:34:47 CEST da teskio »