Androidの意図startSctivityForResultが正しく返されない

私はmainactivityとintentActivityを持っています。

  • mainActivity - 通常のメインアクティビティ
  • intentActivity - このアクティビティでTwitter OAthリクエストブラウザが起動されます。

インテント活動が正しいかどうかはどのようにしてわかりますか? mainAvtivityでは、次のコードを使用しました

Onclickのボタンの私は使用:

startActivityForResult(i,request_code);

私は次の機能を追加

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)
      }
  }
}

しかし、私の驚きのために、私はブラウザが開く前に "失敗" を取得しています..しかし、私はブラウザから戻った後に表示される成功したい。

2
2番目のアクティビティでsetResultを呼び出していますか?
追加された 著者 aleph_null,
いいえ、私は推測..ちょうど私は連絡先の例を見て..彼らはcontent.Intent.ACTION_PICKにintentを渡すので、彼らはデフォルトで結果コードを取得しています。このデフォルトアクションはシステムインテントに対してのみですか?
追加された 著者 shanmugamgsn,

1 答え

IntentActivityで通話を終了する前に、通話が setResult()を呼び出し、それを成功に設定します。

1
追加された
私はあなたの質問を理解していません。
追加された 著者 Kurtis Nusbaum,
ありがとうKurtis。私は、連絡先の例に従ったのか疑問があります。彼らはcontent.Intent.ACTION_PICKへのインテントを渡すので、デフォルトで結果コードを取得しています。このデフォルトアクションはシステムインテントに対してのみですか?
追加された 著者 shanmugamgsn,
実際のシナリオには、ブラウザを開き、OAthトークンを初期化し、自動的にMainActivityにリダイレクトするこのTwitter Intentアクティビティを呼び出す更新ボタンがあります。しかし、ここで私はそれがリダイレクトするときに私は通知する必要があることを願っています。
追加された 著者 shanmugamgsn,
あなたが言ったように私はsetResultを context.startActivity(new Intent(context、mainActivity.class)); の直前に追加しましたが、結果が戻ったらonActivityResult()メソッドの値は0(RESULT_CANCELLEDを意味します)です。私は、リダイレクトされた意図をキャンセルしませんでしたか?
追加された 著者 shanmugamgsn,