1

アプリを起動すると、スプラッシュ スクリーンが表示されます。そのページは 10 秒間表示され、スレッドで実行されています。

結果の新しいアクティビティに切り替わるとき、サーバーで URL にアクセスしたいので、さらなる実装に使用できる戻り値を取得します。

これが私のコードです:

private final int SPLASH_DISPLAY_LENGHT = 1000;

new Handler().postDelayed(new Runnable()
        {
            @Override
            public void run() 
            {
                Log.e("Handler ","run");
                Intent myIntent = new Intent(getApplicationContext(), CaptureActivity.class);
                startActivityForResult(myIntent, imgDL);
                finish();
            }
        }, SPLASH_DISPLAY_LENGHT);



public void onActivityResult(int requestCode, int resultCode, final Intent data) 
      {
          super.onActivityResult(requestCode, resultCode, data);
          if (requestCode == imgDL) 
          {     
              Log.e("onActivity Result","");
              urlHitMethod("http://XXXXXXXXXXXXXXXXXX.com/banner_scan");
          }
      }

しかし、ここでonActivityResultは は呼び出されません。これを修正する方法は?

4

4 に答える 4

4

また、ベース アクティビティ (startActivityForResult を呼び出すもの) がマニフェストでフラグ noHitory を使用できないことに注意してください。

その場合、onActivityResult は呼び出されません。

于 2012-06-27T09:15:11.283 に答える
1

onActivityResultを使用している場合は、インテントで開始するときにアクティビティを終了しないでください。終了すると、アプリがクラッシュします。ありがとう。

于 2011-10-10T07:02:17.543 に答える
1

これを試して

インテント myIntent = new Intent(activity.this, CaptureActivity.class);

@Override
public void onActivityResult(int requestCode, int resultCode, final Intent data) 
      {
          super.onActivityResult(requestCode, resultCode, data);
          if (requestCode == imgDL) 
          {     
              Log.e("onActivity Result","");
              urlHitMethod("http://XXXXXXXXXXXXXXXXXX.com/banner_scan");
          }
          if(resultCode==RESULT_OK)
      {
    Log.e("onActivity Result","come in onactivity result ok"); 

      }
          else
          {
    Log.e("onActivity Result","come in onactivity result with error"); 

      }



      }
于 2011-07-19T05:00:41.597 に答える
0

CaptureActivity.classで結果を設定してから、最初のアクティビティのonActivityResultに結果コードをチェックインする必要があります。

CaptureActivity.classでは、次のようになります。

 Intent in = new Intent();
    setResult(1,in);//Here I am Setting the Requestcode 1, you can put according to your requirement
    finish();
于 2011-07-19T05:05:35.517 に答える