远程完成Android活动

时间:2012-09-30 04:57:13

标签: android android-intent android-activity

我有三项活动, a,b,c 。活动 b 将启动活动 c 。在活动 c 时按后退键,活动 c 将完成(),活动 b 将仅显示因为它离开了。

这不是那么难,我想要做的是当我完成()活动 c 时,我想同时完成()活动 b 为了显示活动 a

有没有人知道如何完成其​​他活动的活动?

2 个答案:

答案 0 :(得分:1)

实现这一最佳方法是在结合中使用startActivityForResult和onActivityResult。

从活动A,开始活动B,然后从B开始活动C,使用startActivityForResult()

获得结果

在活动C中,当用户触发或Destroy()

设置一个结果,通知A也完成,

在C。中调用finish()。

当B从C收到结果时,B也会自己调用finish()。

在父活动中,在触发子活动时,使用以下命令: -

startActivityForResult(intent,variable(int));

并在活动B中以下列方式覆盖onActivityResult方法: -

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if(resultCode==2){
        finish();
    }
}

现在,在子活动C中,以下列方式覆盖onStop和onDestroy: -

protected void onStop() {
    setResult(2);
    super.onStop();
}

@Override
protected void onDestroy() {
    setResult(2);
    super.onDestroy();
}

答案 1 :(得分:0)

是的,在转移到活动C之前完成活动B.因此,下次当您直接点击确认按钮时,它将移动到活动A,如下面的代码:

      Intent in = new Intent(B.class, C.class);
       startActivity(in)
        finish();