I have 2 Activities, each in seperate applications. Activity1 has a button the user can click and it calls the second activity using an intent in its onClick()
method:
Intent myIntent = getPackageManager().getLaunchIntentForPackage(com.myProject.Activity2);
startActivityForResult(myIntent, 600);
This correctly launches Activity2 from Activity1, but onActivityResult
gets called in Activity1 before onCreate
gets called in Activity2, instead of in onBackPressed()
where I set up the return intent.
Here is the onCreate
method for Activity2:
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
Here is the current version of onBackPressed
method for Activity2:
@Override
public void onBackPressed() {
Intent intent = new Intent();
intent.putExtra("Stuff", someStuff);
if(getParent()==null){
setResult(Activity.RESULT_OK, intent);
}else{
getParent().setResult(Activity.RESULT_OK, intent);
}
finish();
super.onBackPressed();
}
My AndroidManifest.xml has the following intent filter for Activity2:
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
I verified that my launchMode
is standard
(and not singleTask
, etc) as advised here and my request code is not negative as warned here. I also tried android:launchMode="singleTop"
, but that was a no-go also.
I also tried not calling finish()
in onBackPressed()
for Activity2 as mentioned here (also with just super.onBackPressed()
as suggested here) and again calling it as suggested here.
Additionally I tried commenting out the line intent.putExtra("Stuff", someStuff);
as it seemed to cause trouble for this person.
Any ideas as to what I might be doing wrong?