Android 将OnActivityResult发送到其他活动
我有3个活动:A、B和C。我想从A启动C,并使用ActivityResult()将结果发送回B。:Android 将OnActivityResult发送到其他活动,android,Android,我有3个活动:A、B和C。我想从A启动C,并使用ActivityResult()将结果发送回B。: 使用startActivityForResult()启动C C启动并执行其任务 B在activityResult()上收到C的结果 有可能吗?这不是直接可能的,因为活动C的结果将在C完成时返回到活动A。 如果要在活动C将结果发送到A之后打开活动B,请从onActivityResult(当结果从C发送到A时)启动活动B,并使用A将从C接收到的数据传递给B 但是,如果您的活动B与上述内容无关,则可
- 使用
startActivityForResult()启动C
- C启动并执行其任务
- B在activityResult()上收到C的结果
有可能吗?这不是直接可能的,因为活动C的结果将在C完成时返回到活动A。 如果要在活动C将结果发送到A之后打开活动B,请从onActivityResult(当结果从C发送到A时)启动活动B,并使用A将从C接收到的数据传递给B 但是,如果您的活动B与上述内容无关,则可以将活动C的结果存储在SQLite DB中,然后当活动打开时,从SQLite读取结果并显示在活动B中
yes it is possible please do like this.
Intent intent=new Intent(MainActivity.this,ActivityC.class);
startActivityForResult(intent, 2);// Activity is started with
requestCode 2
@Override
protected void onActivityResult(int requestCode, int resultCode,
Intent data)
{
super.onActivityResult(requestCode, resultCode, data);
// check if the request code is same as what is passed here
it is 2
if(requestCode==2)
{
String message=data.getStringExtra("MESSAGE");
textView1.setText(message);
//for here you can start your Activity B with data
whatever you want to send to Activity B.
}
}
表单活动c将结果设置为
Intent intent=new Intent();
intent.putExtra("MESSAGE",message);
setResult(2,intent);
是的,可能。请检查此url,您不能直接执行此操作。你需要链接A->B->C。结果将返回为C->B->A。当然可能是重复的。但不像你想象的那样。只需使用活动B的onActivityResult中获得的相关数据启动活动C,输入您用于启动C@greenapps的意图,但从A关闭C并启动B是否会影响手机性能?在onActivityResult中从A关闭C并重新打开B是否会影响手机性能?但B尚未启动或创建,如何确保putExtra返回活动B当结果从C返回到A时,我们可以启动活动然后将来自活动A中C的数据发送给B,在setResult之后还需要完成C