`
wangxuefang
  • 浏览: 120831 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

android2.2系统退出应用

阅读更多

    今天在做android2.1上的程序向android2.2上移值的时候,发现在2.1上的退出应用程序的代码在2.2上不起作用,具体如下:

    在2.1上用了以下方法来进行应用的退出:

 

final ActivityManager am = (ActivityManager)getSystemService(Context.ACTIVITY_SERVICE);        	 
am.restartPackage(getPackageName());

<!-- 退出应用程序配置 -->
<uses-permission android:name="android.permission.RESTART_PACKAGES"/>

 用以上方法在2.1上可以退出整个应用,无论应用中原来的activity是否已经finish掉。此外还有以下两种方法

2.android.os.Process.killProcess(android.os.Process.myPid());
3.System.exit(0);

 也是可以退出整个应用的。但是当移值到2.2系统上后,以上三个方法均不能起到退出整个应用的效果,只能是关闭当前的activity,此时若Task栈中存在没有关闭的activity,就会弹出栈中的activity,进行出现不能退出整个应用的现像。

 

后来在网上也查了是否有相关的方法。给出的方法有下面几种,但结果都不理想:

1.

Intent startMain = new Intent(Intent.ACTION_MAIN);
startMain.addCategory(Intent.CATEGORY_HOME);
startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
activity.startActivity(startMain);
System.exit(0);//退出程序
 

 

这个程序做了个实验,发现可以退出主界面,但并不能完全退出当前的应用,按上述方法退出后,当再次进行应用时,会显示出原来没有finish掉的栈中的那个activity.因此,与其说这是个退出方法,不如说只是强制程序回到了主界面,而原应用并没有彻底退出。

2.

ActivityManager am = (ActivityManager)getSystemService(Context.ACTIVITY_SERVICE);                                                  
 am.killBackgroundProcessesgetPackageName()); 

<!--权限-->
<uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES">

 在2.2中,提供了上述一个方法,需要加入权限,但在实验时,也不能完全退出应用。

3.

在eoe上有人用Receiver来实现应用的退出。

http://www.eoeandroid.com/thread-62284-1-1.html

但是感觉跟finish()是一样的。具体没做实验

4.还有一个方法是利用反射得到api中没有暴露的方法,进行结束应用,具体网址忘记了。但实验时也不成功。

 

 

最后实在找不出一个能一下子退出整个应用的方法,只能在activity不用时finish()掉。如果有人找到合适的方法,请通知一下!

分享到:
评论
1 楼 jack_tian 2011-07-18  
从API上看,android就是通过下面的方式代替了restart方法啊?你能具体说面一下为什么说他不能完全推出应用吗?表现的是什么现象?
2.
Java代码  收藏代码

   1. ActivityManager am = (ActivityManager)getSystemService(Context.ACTIVITY_SERVICE);                                                   
   2.  am.killBackgroundProcessesgetPackageName());  
   3.  
   4. <!--权限--> 
   5. <uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES"> 

ActivityManager am = (ActivityManager)getSystemService(Context.ACTIVITY_SERVICE);                                                 
am.killBackgroundProcessesgetPackageName());

<!--权限-->
<uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES">

在2.2中,提供了上述一个方法,需要加入权限,但在实验时,也不能完全退出应用。

相关推荐

    完退出Android应用程序例子

    例子是Android1.6的,在2.2和4.0系统都试过没有问题,如有问题请加群:213167832,找Harlan.谢谢大家。

    UMcall免费语音软件 For Android v2.2.1108.zip

    UMcall - 免费通话软件:  UMcall是基于互联网络免费通话和收发消息的软件, 适用于2G/3G/WiFi 网络,双方安装即可通话。... 1、修改通话过程中按home键退出不能回到通话界面的问题  2、优化通话质量。

    android视频播放器实训报告.doc

    1 2.1 系统功能描述 1 2.2 系统模块设计 1 3 主要代码清单 2 4 程序运行与测试 2 5 实训总结 3 android视频播放器系统的设计与实现 1 实训目的 本学期我们学习了JAVA课程和Android应用程序开发课程。而Android应用...

    智能移动终端应用开发设计报告Android-贪吃蛇.doc

    XX学院 智能移动终端应用开发 设计报告 (20XX/20XX学年第XX学期) 题 目 : 基于Android系统的贪吃蛇游戏 专 业 : 小组成员 : 设计成绩 : 年月日 摘 要 Android是基于Linux开放性内核的操作系统,是Google公司在...

    Android程序设计基础

     作为基于Linux的开源手机平台,Android包括一部手机工作所需的全部软件——操作系统、用户界面和应用程序,而且不存在任何以往阻碍移动产业创新的专有权障碍。谷歌公司与开放手机联盟合作开发了Android,这个联盟...

    深入理解Android:卷I--详细书签版

    注意,本书分析的源码是Android2.2。  第2章通过Android源码中的一处实例深入地介绍了JNI技术。  第3章围绕init进程,介绍了如何解析init.rc以启动Zygote和属性服务(property service)的工作原理。  第4章...

    Android基础教程

    以及本地数据存储等基础知识,而且通过“Hello, Android”项目深入探讨了外部通信、基于位置的服务、内置SQLite数据库、3D图形、多点触控、小部件、兼容性测试,以及如何向AndroidMarket发布应用程序等内容。...

    android 面试2

    答:ANR(Application Not Responding):应用程序有一段时间响应不够灵敏,系统会向用户显示一个对话框,这个对话框称作应用程序无响应的对话框 避免ANR:Android应用程序通常运行在一个单独的线程里面,称谓主线程,...

    工程硕士学位论文 基于Android+HTML5的移动Web项目高效开发探究

    鉴于市场上用户的手机型号、种类、屏幕分辨率等参差不齐,传统方式根据主流系统分别开发相应的系统耗时又耗力,为了高效开发并节约开发项目成本,本文采用Android+HTML5相结合的方式进行移动端Web系统的设计研发工作...

    Android调用海康威视SDK实现网络实时播放

    1 在网络条件不好的情况下在全屏和竖屏两个Activity之间切换可能会出错退出,原因是官方播放库中的线程没有做线程分离,在log中可以看到错误信息,这个问题在应用层没法改。如果只是在一个页面播放而不跳新页面则没...

    AppCan-BBS v2.2 for Discuz!X2 和 Discuz!X2.5.rar

    因插件注册机制的修改,2.1版本不能自动升级,如需重新生成手机应用,只能升级至2.2版本(请放心:手机应用旧版本的用户使用不受影响)。 2)升级步骤: 在升级至2.2时必须按以下步骤操作:卸载插件&gt;删除服务器插件包...

    Android开发资料合集-World版!

    1、ANDROID文件系统与应用程序架构 7 1.1、ANDROID 文件系统 7 1.2、ANDROID应用程序架构 9 2、ANDROID应用程序结构 11 2.1、ACTIVITY 12 2.1.1、概述 12 2.1.2、Activity的生命周期 15 2.1.3、Activity 的创建 16 ...

    Android 开发技巧

    1、ANDROID文件系统与应用程序架构 7 1.1、ANDROID 文件系统 7 1.2、ANDROID应用程序架构 9 2、ANDROID应用程序结构 11 2.1、ACTIVITY 12 2.1.1、概述 12 2.1.2、Activity的生命周期 15 2.1.3、Activity 的创建 16 ...

    Android俄罗斯方块课程设计报告.docx

    课程设计报告书 专 业:计算机科学与技术 课程设计名称:《Java高级应用》 题 目:俄罗斯方块 班 级: 学 号: 设 计 者: 同 组 人 员: 指 导 老 师: 完 成 时 间:2016年06月08 Android俄罗斯方块课程设计报告...

    自定义统计SDKTcStatInterface.zip

    APP启动退出统计,不同渠道统计。客户端SDK功能概述在使用统计服务前,开发者先要拿到本身APPID。其中AppId是客户端的身份标识,在客户端SDK初始化时使用。然后下载最新Library的 SDK压缩包,其中包括了Android SDK...

    BambooPlayer_v1.0.4

    本播放器在播放完毕或者返回退出时将自动KILL自身进程及服务,不会驻留后台,良心应用请放心使用。 本播放器支持手势控制音量、亮度、快进快退。 播放器CPU、格式、编码支持: 支持的CPU: - armeabi,armeabi-v7a,...

    希沃授课助手 v3.0.10.2742官方PC版.rar

    Android系统、ios系统手机/pad均可作为客户端 便捷获取客户端软件 二维码扫描快速下载客户端软件 Appstore便捷获取客户端软件 无线远程操作 客户端触摸板远程模拟鼠标操作PC 远程打开PC端PPT进行播放、上下...

Global site tag (gtag.js) - Google Analytics