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

比如有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);

  }

}

时间: 2024-10-13 16:58:42

Android在一个Activity中关闭另一个Activity的相关文章

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

Android开发中在一个Activity中关闭另一个Activity 比如有ActivityA, ActivityB,在ActivityB中关闭ActivityA 解决方案: 1. 在 ActivityA 里面设置一个静态的变量instance,初始化为this在 ActivityB 里面, ActivityA.instance.finish(); 2. 也可以通过ActivityManager ActivityManager manager = (ActivityManager)getSys

【Android开发-8】生命周期,Activity中打开另外一个Activity

前言:生命中有许多人陪伴自己走过一生中的某段旅程,只是有些人只是某阶段出现,有些人却陪伴自己很久.就像小学.中学.高中.大学,那些曾经以为会长久拥有的,当经历过天涯各地地忙碌于生活,或如意,或失意:渐渐地那些画面只剩回忆.天涯各自安命,能在一起的就尽力珍惜吧,不在一起地就衷心地祝福,我们都需要一种姿态生活下去!Android中的Activity的生命中,我们经常需要打开另外一个Activity,即另外一个界面.这个可能出现的时间很短暂,然后又回到主界面.但是这两个Activity都在各自的生命周

android开发之在activity中控制另一个activity的UI更新

转自:http://blog.csdn.net/jason0539/article/details/18075293 第一种方法: 遇到一个问题,需要在一个activity中控制另一个acitivity做一些更新,没想到传递handler的方法,通过以下方式解决. 1.在MyAPP中定义属性handler 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 package jason.com;     import jas

Android 在一个程序中启动另一个程序

Android 开发有时需要在一个应用中启动另一个应用,比如Launcher加载所有的已安装的程序的列表,当点击图标时可以启动另一个应用. 一般我们知道了另一个应用的包名和MainActivity的名字之后便可以直接通过如下代码来启动: Intent intent = new Intent(Intent.ACTION_MAIN); intent.add

在一个Activity中启动另一个Activity

一.新建一个空的工程 二.添加一个Activity并命名为BAty 三.在activity_main.xml中添加一个按钮,设置id号为btnStartB <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="启动B" android:id="@+id/btnStartB" />

【Android笔记】在一个Activity中结束另一个Activity

以在Activity_B中结束Activity_A为例: 1.在Activity_A中定义一个Acitivity的全局静态变量: 1 public static Activity actA; 2.在Activity_A的OnCreate()方法中给Activity_A赋值: 1 actA=this; 3.在Activity_B中,需要结束Activity_A时,调用以下: 1 ActivityA.actA.finish(); 另外也可用广播的方式实现(此处忽略了,需要的自己试下吧) 参考原文:h

Android在一个app中启动另一个App

Intent intent = new Intent(Intent.ACTION_MAIN); intent.addCategory(Intent.CATEGORY_LAUNCHER); ComponentName cn = new ComponentName("com.example.timer", "com.example.timer.MainActivity");//包名,类名 intent.setComponent(cn); startActivity(in

Android应用程序中的多个Activity的显示创建和调用

布局文件: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orien

Android在一个APP中通过包名或类名启动另一个APP

开发有时需要在一个应用中启动另一个应用,比如Launcher加载所有的已安装的程序的列表,当点击图标时可以启动另一个应用.一般我们知道了另一个应用的包名和MainActivity的名字之后便可以直接通过如下代码来启动: Intent intent = new Intent(Intent.ACTION_MAIN);intent.addCategory(Intent.CATEGORY_LAUNCHER); ComponentName cn = new ComponentName(packageNam