活动A使用
启动活动B(在另一个应用程序中)Intent i;
PackageManager manager = getPackageManager();
try {
i = manager.getLaunchIntentForPackage("my.other.app.package.name");
if (i == null)
throw new PackageManager.NameNotFoundException();
i.addCategory(Intent.CATEGORY_LAUNCHER);
startActivityForResult(i, 1);
} catch (PackageManager.NameNotFoundException e) {
}
这是我的活动B:
setContentView(R.layout.main_layout);
Button mybutton = (Button) findViewById(R.id.button1);
mybutton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
ArrayList<String> data = new ArrayList<String>();
data.add("1.2");
Intent returnIntent = new Intent();
returnIntent.putExtra("data", data);
setResult(RESULT_OK, returnIntent);
finish();
}
});
我的问题是,当活动B启动时,活动A中的onActivityResult()
立即被调用(resultCode = 0),而不是等待我按下按钮。我已经尝试将这两个活动的启动模式设置为singleTop或标准(作为suggested here)但是没有解决它:
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:launchMode="standard">
我做错了什么?