当前位置:首页 » 安卓系统 » android退出activity

android退出activity

发布时间: 2022-06-30 21:50:47

⑴ android activity怎么全部退出

监听手机返回键,按两次退出栈,清空内存,代码如下:
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK
&& event.getAction() == KeyEvent.ACTION_DOWN) {
if ((System.currentTimeMillis() - exitTime) > 2000) {
ToastUtils.show(MainActivity.this,"再按一次退出程序");
exitTime = System.currentTimeMillis();
} else {
//清空activity任务栈
AppManager.getAppManager().finishAllActivity();
}
return true;
}
return super.onKeyDown(keyCode, event);
}

⑵ Android Activity的关闭问题

你说的闪屏的activity是启动的广告页?首先要保证你按返回就退出的app是在栈的底部,这样在这个页面调finish();就会直接完全的退出app,可以通过activity的启动模式来控制,这个你查一下就会很清楚的,我这里简单说一下:
1.在清单文件中,<Activity>标签中加入android:launchMode = ""这个属性,控制启动模式,或者JAVA文件中也可以,不过不太一样。
standard: 默认模式 可以实例化多次,每次都会创建一个新的实例
singleTop:可以实例化多次,但是栈顶只能出现一个
singleTask:只能创建一个Activity的实例
singleInstance:当启动这种模式的Activity时,系统会分配一个新的任务task,并把Activity的实例放到栈的底部,他不允许其他的实例和它共享一个栈
2.在Activity中通过Intent对象来设置,优先级高于xml文件中的设置:
FLAG_ACTIVITY_SINGLE_TOP 等同于 singleTop
FLAG_ACTIVITY_CLEAR_TOP 同singleTask 相似,当栈中存在要启动的Activity实例,首先会把在它之上的实例移除,并且销毁,然后销毁当前的Activity实例,重写创建新的实例
FLAG_ACTIVITY_NEW_TASK

必须在<Activity>添加属性android:taskAffinity="com.other" 包名 android:alwaysRetainTaskState="true"只有设置了这两个属性,系统才会为当前实例创建新的任务,并放到栈的底部

⑶ android 如何关闭指定的Activity

1、可以用一个统一管理容器list,把所有启动activity放到一起,关闭C的时候,也把B找出来关闭。
2、另一个方法是,可以关闭C的时候,把其他所有A和B都销毁,然后再重新启动一个A。

⑷ android 面试4: 如何退出Activity如何安全退出已调用多个Activity的Application

当然,也可以用killProcess()和System.exit()这样的方法。 现提供几个方法,供参考: 1、抛异常强制退出: 该方法通过抛异常,使程序Force Close。 验证可以,但是,需要解决的问题是,如何使程序结束掉,而不弹出Force Close的窗口。 2、记录打开的Activity: 每打开一个Activity,就记录下来。在需要退出时,关闭每一个Activity即可。 3、发送特定广播: 在需要结束应用时,发送一个特定的广播,每个Activity收到广播后,关闭即可。 4、递归退出 在打开新的Activity时使用startActivityForResult,然后自己加标志,在onActivityResult中处理,递归关闭。 除了第一个,都是想办法把每一个Activity都结束掉,间接达到目的。 但是这样做同样不完美。 你会发现,如果自己的应用程序对每一个Activity都设置了nosensor,在两个Activity结束的间隙,sensor可能有效了。 但至少,我们的目的达到了,而且没有影响用户使用。

⑸ android 中怎样能够清除activity堆栈,也就是退出整个应用

如果退出整个程序,如下操作:方式一:Intent intent=new Intent(Intent.ACTION_MAIN);intent.addCategory(Intent.CATEGORY_HOME);intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);this.startActivity(intent);System.exit(0); 方式二:android.os.Process.killProcess(android.os.Process.myPid()); android 完全退出程序有几个activity,有一需求是在一个activityA点击back键退出系统而不是跳到之前的activity首先想到的是清空activityA的堆栈,使用intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 但是该activityA不是已经存在于堆栈底端的,所以清除的只是堆栈中该activityA上面的activity,但后退后还是会返回堆栈中该activityA下面的activity。

⑹ android 关闭activity问题

可以用单例模式,在每一个activity中,将this放入单例中,最后关闭的时候一起关掉

工具类可以这么写:
ublic class ActiveActUtil extends Application {
private List<Activity> activityList = new LinkedList<Activity>();
private static ActiveActUtil instance;

private ActiveActUtil() {
}

// 单例模式中获取唯一的MyApplication实例
public static ActiveActUtil getInstance() {
if (null == instance) {
instance = new ActiveActUtil();
}
return instance;

}

// 添加Activity到容器中
public void addActivity(Activity activity) {
activityList.add(activity);
}

// 遍历所有Activity并finish
public void exit() {

for (Activity activity : activityList) {
activity.finish();
}
instance = null;
}
}

然后在每一个activity的OnCreate里加入:ActiveActUtil.getInstance().addActivity(this);

⑺ 在android中怎样退出activity

我们在项目开发的时候可能会遇到安全退出应用的场景,如何能够安全退出多个Activity?网上有很多方法,下面这种方法就是我最喜欢的,简单又易懂。如下:每打开一个Activity,就记录下来,在需要退出时,关闭每一个Activity即可。使用单例模式创建一个Activity管理对象,该对象中有一个Activity容器。定义一个Application类来存储Activity对象的引用。代码如下: public class ExitAppliation extends Application { private List activityList = new LinkedList(); private static ExitAppliation instance; private ExitAppliation() { } // 单例模式中获取唯一的MyApplication实例 public static ExitAppliation getInstance() { if (null == instance) { instance = new ExitAppliation(); } return instance; } //添加Activity到容器中 public void addActivity(Activity activity) { activityList.add(activity); } // 遍历所有Activity并finish public void exit() { for (Activity activity : activityList) { activity.finish(); } System.exit(0); } }</activity></activity> 注:Application类是为了那些需要保存全局变量设计的基本类,你可以在AndroidManifest.xml的标签中进行自己的实现,这样的结果是:当你的application或者包被建立的时候将引起那个类被建立。就是说application是用来保存全局变量的,并且是在package创建的时候就跟着存在了。所以当我们需要创建全局变量的时候,不需 要再像j2se那样需要创建public权限的static变量,而直接在application中去实现。只需要调用Context的getApplicationContext或者Activity的getApplication方法来获得一个application对象,再做出相应 的处理。 然后在每个Activity的onCreate()方法中添加下面代码: ExitAppliation.getInstance().addActivity(this); 在需要结束所有Activity的时候调用exit方法: ExitAppliation.getInstance().exit();

⑻ 在android中能否用onstop()退出activity

可以,你在onstop里调用一下finish() 即可退出当前Activity

⑼ 请教android中怎么关闭一个指定的activity

退出所有Activity,目前网上比较流行的方式大概有以下几种: ① 使用ActivityManager的方式; ② 自定义一个Activity集合类的方式; ③ 通过发送广播的方式; ④ 通过杀死当前应用进程的方式; Activity有四种启动模式,分别为:standard(默认模式)、singleTop、singleTask、singleInstance。本方式需要使用的就是singleTask启动模式。 如果设置一个Activity的启动模式为singleTask,那么每次启动此Activity时系统都会检查当前任务栈中是否已经存在此Activity的实例。如果已经存在,则不再创建此Activity新的实例,而是调用已存在的Activity的onNewIntent()方法,并把intent作为此方法的参数传递给它。然后它就会被置于栈顶,并把它之前的所有的Activity移除掉。

⑽ android 怎么退出另外一个进程的activity

下面以ActivityB结束ActivityA为例
1、首先在ActivityA中定义一个静态的全局变量
static Activity ActivityA;
2、在ActivityA中的onCreate方法中给ActivityA赋值
ActivityA = this;
3、在ActivityB中,需要结束ActivityA时调用
ActivityA a = new ActivityA();
a.ActivityA.finish();

热点内容
app什么情况下找不到服务器 发布:2025-05-12 15:46:25 浏览:714
php跳过if 发布:2025-05-12 15:34:29 浏览:467
不定时算法 发布:2025-05-12 15:30:16 浏览:131
c语言延时1ms程序 发布:2025-05-12 15:01:30 浏览:166
动物园灵长类动物配置什么植物 发布:2025-05-12 14:49:59 浏览:736
wifi密码设置什么好 发布:2025-05-12 14:49:17 浏览:148
三位数乘两位数速算法 发布:2025-05-12 13:05:48 浏览:399
暴风影音缓存在哪里 发布:2025-05-12 12:42:03 浏览:544
access数据库exe 发布:2025-05-12 12:39:04 浏览:632
五开的配置是什么 发布:2025-05-12 12:36:37 浏览:366