Search code examples
androidandroid-activityonactivityresult

Why is onActivityResult not called in Android?


When I my app is launched I am showing a splash screen. That page is been shown for 10 sec, running on a thread.

When it switches over to new activity on a result I want o hit a URL in server and I will be getting a return value which I can use for my further implements.

Here is my code:

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

But here the onActivityResult is not called. How to fix this?


Solution

  • In the CaptureActivity.class you have to set the result and then check in the onActivityResult in the First Activity the result code

    In the CaptureActivity.class it should be like the following

     Intent in = new Intent();
        setResult(1,in);//Here I am Setting the Requestcode 1, you can put according to your requirement
        finish();