当前位置:首页 » 安卓系统 » android关闭activity

android关闭activity

发布时间: 2024-06-01 04:19:55

A. 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"只有设置了这两个属性,系统才会为当前实例创建新的任务,并放到栈的底部

B. android中怎么销毁当前的activity

执行finish()方法

android的生命周期包括onCreate,onStart,onResume,onPause,onStop,onDestroy
当调用finish方法后会执行onPause,onStop,onDestroy

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

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

D. android 如何关闭指定的Activity

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

E. android中怎么kill掉一个activity

直接调用activity的finish()方法即可关掉当前这个activity.

在Android中,Activity有个栈,一个Activity结束掉,会回到上一个Activity,并不是退出应用程序。
Android中,退出应用程序的方式:
1.通过pid
int pid = android.os.Process.myPid(); //获取当前应用程序的PID
android.os.Process.killProcess(pid); //杀死当前进程
这种方法退出应用,是会保留某些后进程,例如:Service,Notifications等。

2.通过ActivityManager
ActivityManager manager = (ActivityManager)context.getSystemService(ACTIVITY_SERVICE); //获取应用程序管理器
manager.killBackgroundProcesses(getPackageName()); //强制结束当前应用程序
这种方式退出应用,会结束本应用程序的一切活动,因为本方法会根据应用程序的包名杀死所有进程包括Activity,Service,Notifications等。

F. 在Android 中如何关闭应用以及所有的 Activity

Android程序有很多Activity,比如说主窗口A,调用了子窗口B,如果在B中直接finish(), 接下里显示的是A。在B中如何关闭整个Android应用程序呢?本人总结了几种比较简单的实现方法。

1. Dalvik VM的本地方法
android.os.Process.killProcess(android.os.Process.myPid()) //获取PID
System.exit(0); //常规java、c#的标准退出法,返回值为0代表正常退出

2. 任务管理器方法
首先要说明该方法运行在Android 1.5 API Level为3以上才可以,同时需要权限
ActivityManager am = (ActivityManager)getSystemService (Context.ACTIVITY_SERVICE);
am.restartPackage(getPackageName());
系统会将,该包下的 ,所有进程,服务,全部杀掉,就可以杀干净了,要注意加上
<uses-permission android:name=\"android.permission.RESTART_PACKAGES\"></uses-permission>
3. 根据Activity的声明周期

3. 我们知道Android的窗口类提供了历史栈,我们可以通过stack的原理来巧妙的实现,这里我们在A窗口打开B窗口时在Intent中直接加入标志 Intent.FLAG_ACTIVITY_CLEAR_TOP,这样开启B时将会清除该进程空间的所有Activity。
在A窗口中使用下面的代码调用B窗口
Intent intent = new Intent();
intent.setClass(Android123.this, CWJ.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); //注意本行的FLAG设置
startActivity(intent);
接下来在B窗口中需要退出时直接使用finish方法即可全部退出。

4.自定义一个Actiivty 栈,道理同上,不过利用一个单例模式的Activity栈来管理所有Activity。

不过建议使用第一种方式来退出应用程序

热点内容
编译器分析 发布:2024-11-26 21:13:01 浏览:831
存储过程execute 发布:2024-11-26 21:11:02 浏览:255
石器时代合成脚本 发布:2024-11-26 20:57:07 浏览:939
漏油器密码怎么改密码 发布:2024-11-26 20:30:11 浏览:14
linux编码命令 发布:2024-11-26 20:23:13 浏览:801
密码加密工具 发布:2024-11-26 20:23:06 浏览:692
如何破解加密的wifi 发布:2024-11-26 20:10:29 浏览:431
c脚本检查 发布:2024-11-26 19:56:34 浏览:394
服务器ip控制系统叫什么 发布:2024-11-26 19:56:31 浏览:747
ecshop文件夹权限 发布:2024-11-26 19:55:05 浏览:74