Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

onActivityResult never called

Tags:

So far, I used the startActivity function with success and now that I need to use the startActivityResult, I have a problem.

When using this function, the activity I expect to be launched is launched correctly but it seems like the onActivityResult function is never called.

Here is my code in the FriendPicker activity, to lauch the MoodPicker activity:

Intent intent = new Intent(FriendPicker.this, MoodPicker.class);
startActivityForResult(intent, 2);

And here is my code in the MoodPicker activity:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent intent)
{                   
    super.onActivityResult(requestCode, resultCode, intent);

    Log.i("in OnActivityResult", "Activity Result");                        

    switch (requestCode)
    {
        case 2:             
            Log.i("in OnActivityResult", "Activity Resut 2");                

            break;
    }
}

and nothing in my logfile is written (I of course, checked that my log file was working properly and double check with a text view output).

Is there something I forgot to declare in the Manifest file?

Thanks in advance.

like image 272
thomaus Avatar asked Mar 14 '11 17:03

thomaus


Video Answer


2 Answers

I had same problem and solved it: Just remove

android:launchMode="singleInstance"
like image 137
ranjeet wagh Avatar answered Oct 16 '22 06:10

ranjeet wagh


In my case, I didn't realize I was calling startActivityForResult from an activity that had the android:noHistory attribute set to true in the manifest. Therefore, the onActivityResult was never called as there was no activity instance anymore.

like image 22
Xavi Gil Avatar answered Oct 16 '22 06:10

Xavi Gil