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

androidactivity关闭

发布时间: 2024-10-27 08:50:01

A. 在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。

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

B. 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可能有效了。 但至少,我们的目的达到了,而且没有影响用户使用。

C. Android中指定关闭某个Activity

问题:在android开发中,总会遇到进入某个activity之后需要关闭其他部分activity,怎么解决呢?

最直接粗暴的解决办法就是:

      步骤一:在需要关闭的那个activity中设置一个变量记录这个activity。例如:           

            public static Activity1 instance;

      步骤二:在该activity的onCreate方法中指定这个activity。例如:

      @Override

      protected void onCreate(Bundle savedInstanceState) {

          super.onCreate(savedInstanceState);

          instance=this;

      步骤三:在需要关闭指定的activity的方法中直接finish。例如:

          Activity1.instance.finish();

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

E. android 如何关闭另一个应用程序activity

首先一点
android的app绝大都的肯定是全屏的。接着问题就来了。你说A调用了B。那么界面肯定处于B的状态。要想A关闭B的话。肯定得返回A,然后再去关闭B,但是根据Activity
的生命周期的,如果没有重写返回键的响应的方法话,你按返回键应该B就被会被关闭才对。。以上是根据你先给的意思我发表的疑惑。
觉得我说的不对。你可以吧问题说的再详细点,

热点内容
学cnc数控编程 发布:2024-10-27 11:04:56 浏览:226
mallat算法 发布:2024-10-27 11:03:57 浏览:33
讲脚本 发布:2024-10-27 10:47:54 浏览:713
存储免疫细胞 发布:2024-10-27 10:46:56 浏览:493
粉标溯源码 发布:2024-10-27 10:44:28 浏览:139
网吧服务器如何搭建 发布:2024-10-27 10:27:49 浏览:391
安卓手机如何设置不让玩王者荣耀 发布:2024-10-27 10:27:43 浏览:762
没有配置的游戏怎么玩 发布:2024-10-27 10:25:32 浏览:431
c语言好看 发布:2024-10-27 10:14:25 浏览:604
java写入数组 发布:2024-10-27 10:06:59 浏览:178