码迷,mamicode.com
首页 > 移动开发 > 详细

Android在一个Activity中关闭另一个Activity

时间:2015-09-20 14:41:29      阅读:157      评论:0      收藏:0      [点我收藏+]

标签:

比如有ActivityA, ActivityB,在ActivityB中关闭ActivityA。

解决方案:

1.在 ActivityA 里面设置一个静态的变量instance,初始化为this,在 ActivityB 里面, ActivityA.instance.finish();

2.也可以通过ActivityManager 

  ActivityManager manager = (ActivityManager)getSystemService(ACTIVITY_SERVICE);   
  manager.restartPackage(packageName)

代码:

ActivityA:

public class MainActivity extends Activity {
    public static ActivityA instance = null;   
@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activitya);
        instance = this;
        Intent intent = new Intent();
   intent.setClass(ActivityA.this, ActivityB.class);
    ActivityA.this.startActivity(intent);
    }
}
 
ActivityB:
public class  ActivityB extends Activity {
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activityb);
  }
  // 返回键
  @Override
  public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_BACK) { // 如果是手机上的返回键
      ActivityB.this.finish();
      ActivityA.instance.finish();
    }
    return super.onKeyDown(keyCode, event);
  }
}

Android在一个Activity中关闭另一个Activity

标签:

原文地址:http://www.cnblogs.com/Joanna-Yan/p/4823368.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!