Android intent startSctivityForResult retourneert niet correct

Ik heb gemoedsrust en intentieActiviteit.

  • mainActivity - Normale hoofdactiviteit
  • intentActivity - For Twitter OAth request Browser wordt gestart door deze activiteit

Hoe weet ik of de intent-activiteit correct is of niet? In mainAvtivity heb ik volgende codes gebruikt

In een klik op een knop die ik heb gebruikt:

startActivityForResult(i,request_code);

ook heb ik de volgende functie toegevoegd

public void onActivityResult(int requestCode,int resultCode,Intent data)
{
  if(requestCode==1) 
   {
    if(resultCode==RESULT_OK)
      {
          Toast.makeToast(getBaseContext(),"Success",Toast.LENGTH_SHORT)
      {
     else
      {
          Toast.makeToast(getBaseContext(),"Failed",Toast.LENGTH_SHORT)
      }
  }
}

Maar tot mijn verbazing krijg ik "Mislukt" voordat de browser wordt geopend. Maar ik wens Succes om te worden weergegeven na terugkeer van de browser.

2
roep je setResult op bij je tweede activiteit?
toegevoegd de auteur aleph_null, de bron
nee dat denk ik .. ik keek gewoon naar het contactvoorbeeld. Terwijl ze de intentie doorgeven aan content.Intent.ACTION_PICK krijgen ze standaard de resultaatcode. Is deze standaardactie alleen voor systeemintenties?
toegevoegd de auteur shanmugamgsn, de bron

1 antwoord

U moet ervoor zorgen dat voordat u uw IntentActivity oproept dat uw oproep setResult() en stel het in op succes.

1
toegevoegd
Ik begrijp je vraag niet.
toegevoegd de auteur Kurtis Nusbaum, de bron
Bedankt Kurtis. Ik heb getwijfeld dat ik een voorbeeld van Contactpersonen heb gevolgd .. Omdat ze de intentie doorgeven aan content.Intent.ACTION_PICK krijgen ze standaard de resultaatcode. Is deze standaardactie alleen voor systeemintenties?
toegevoegd de auteur shanmugamgsn, de bron
Feitelijk scenario is dat ik een updateknop heb die deze Twitter Intent-activiteit aanroept, die om beurten de browser opent en OAth-tokens initialiseert en deze automatisch doorverwijst naar mijn MainActivity. Maar hier wil ik als het omleidt ik moet worden aangemeld.
toegevoegd de auteur shanmugamgsn, de bron
Zoals je zei, heb ik setResult toegevoegd net voor context.startActivity (nieuwe Intent (context, mainActivity.class)); maar als ik het resultaat terug krijg in de onActivityResult() -methode is de waarde 0 (betekent RESULT_CANCELLED). ik heb geen enkele intentie geannuleerd die alleen is doorverwezen?
toegevoegd de auteur shanmugamgsn, de bron