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.
FriendPicker activity
MoodPicker class
I had the same problem using onActivityResult(); cause i didn´t understand how this will be correctly applied, here you can find a good explanation how to use onActivityResult onActivityResult doesn't work?
There is bug in android API. In startActivityForResult(intent, requestCode); This funktion does work as long as requestCode = 0. However, if you change the request code to anything other than zero, the ApiDemos will fail (and OnActivityResult won't be called). Found here:
[EDIT: Link removed as google group overrun with spam]
In my case, I didn't realize I was calling
startActivityForResult
from an activity that had theandroid:noHistory
attribute set to true in the manifest. Therefore, theonActivityResult
was never called as there was no activity instance anymore.If I am reading this right, all the code referenced needs to be in "FriendPicker". In "MoodPicker" you need code like this that sets the result and ends itself:
Let me know if this helps...
Did you add the
setResult()
call in your MoodPicker class ?My silly mistake. Might help someone.
I kept onActivityResult(...) in another class. It has to be as a method in the class where the startActivityForResult() is called.