在android中使用组件名称完成活动

时间:2015-04-27 04:30:07

标签: android android-intent

我正在尝试完成另一项活动。 为此,我只有 该活动的组件名称。 我怎么能完成那个?

4 个答案:

答案 0 :(得分:0)

1.在清单文件中创建活动A:launchMode =“singleInstance”

2.当用户点击new时,执行FirstActivity.fa.finish();并调用新的Intent。

3.当用户点击修改时,请调用新的Intent或简单地完成活动B.

第一个方式

在第一个活动中,声明一个这样的Activity对象,

public static Activity fa;
onCreate()

{
fa = this;
}

现在在另一个Activity中使用该对象来完成这样的第一个活动,

onCreate()
{
FirstActivity.fa.finish();
}

第二种方式

在您继续调用您想要完成的活动FirstActivity时,您可以在调用FirstActivity时添加标记

intent.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);

但是使用此标志即使您不希望活动也会完成。有时onBack如果你想显示FirstActivity,你必须使用intent来调用它。

答案 1 :(得分:0)

你可以用非常简单的方式做到这一点。 首先创建活动的静态实例,例如MainActivity,你想完成它,

public static MainActivity act=MainActivity.this;

现在处于另一种行为,例如MainActivity2只需调用此行,

MainActivity.act.finish();

答案 2 :(得分:0)

尝试扩展该活动并覆盖finish方法

public class ma extends MainActivity{
    @Override
    public void finish()
    {
        super.finish();
    }
}

答案 3 :(得分:0)

您想要在注销后退出应用程序。 那个时候用这个

i.addCategory(Intent.CATEGORY_HOME);
i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

或尝试其他方式,如

@Override
public void onBackPressed() {
    // TODO Auto-generated method stub
    super.onBackPressed();
    moveTaskToBack(true);
    finish();
}