




已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
退出程序方法总结2 an droid2.2怎么完全退出程序在android2.2中,我用ActivityManager m anager=(ActivityManager)context.getSystem Service(Context.ACTI VITY_SERVI CE);m anager.killBackgroundProcesses(package);权限也加了android.perm ission.KI LL_BACKGROUND_PROCESSES但是总是不能退出来呢?009d sa发表于xx-9-1516:15:26android.os.Process.killProcess(android.os.Process.m yPid();试试?lon gd anbin发表于xx-9-1519:04:59试试m anager.restartPackage(package);权限加android.perm ission.RESTART_PACKAGE。 随便一说的xin glin0212发表于xx-10-1121:04:33需要每离开一个当前的Activity进入下一个之前,都执行finish()去结束当前的Activity。 这样,Activity就不会推积在program stack内。 而当最后的Activity执行了finish()后,就会自然退出到卓面。 其实,在处理多Activity的程序时,这是个良好习惯。 否则程式不断地消耗很多无谓资源。 xq135816发表于xx-1-2517:02:07Android退出一个多Activity应用程序的方法xx年11月06日星期六上午11:29对于单一Activity的应用来说,退出很简单,直接finish()即可。 当然,也可以用killProcess()和System.exit()这样的方法。 但是,对于多Activity的应用来说,在打开多个Activity后,如果想在最后打开的Activity直接退出,上边的方法都是没有用的,因为上边的方法都是结束一个Activity而已。 当然,网上也有人说可以。 就好像有人问,在应用里如何捕获Hom e键,有人就会说用keyCode比较KEYCODE_HOME即可,而事实上如果不修改fram ework,根本不可能做到这一点一样。 所以,最好还是自己亲自试一下。 那么,有没有办法直接退出整个应用呢?在2.1之前,可以使用ActivityManager的restartPackage方法。 它可以直接结束整个应用。 在使用时需要权限android.perm ission.RESTART_PACKAGES。 注意不要被它的名字迷惑。 可是,在2.2,这个方法失效了。 在2.2添加了一个新的方法,killBackgroundProcesses(),需要权限android.perm ission.KI LL_BACKGROUND_PROCESSES。 可惜的是,它和2.2的restartPackage一样,根本起不到应有的效果。 另外还有一个方法,就是系统自带的应用程序管理里,强制结束程序的方法,forceStopPackage()。 它需要权限android.perm ission.FORCE_STOP_PACKAGES。 并且需要添加android:sharedUserI d=android.uid.system属性同样可惜的是,该方法是非公开的,他只能运行在系统进程,第三方程序无法调用。 因为需要在Android.m k中添加LOCAL_CERTI FICATE:=platform。 而Android.m k是用于在Android源码下编译程序用的。 从以上可以看出,在2.2,没有办法直接结束一个应用,而只能用自己的办法间接办到。 现提供几个方法,供参考 1、抛异常强制退出该方法通过抛异常,使程序Force Close。 验证可以,但是,需要解决的问题是,如何使程序结束掉,而不弹出Force Close的窗口。 2、记录打开的Activity每打开一个Activity,就记录下来。 在需要退出时,关闭每一个Activity即可。 3、发送特定广播在需要结束应用时,发送一个特定的广播,每个Activity收到广播后,关闭即可。 4、递归退出在打开新的Activity时使用startActivityForResult,然后自己加标志,在onActivityResult中处理,递归关闭。 除了第一个,都是想办法把每一个Activity都结束掉,间接达到目的。 但是这样做同样不完美。 你会发现,如果自己的应用程序对每一个Activity都设置了nosensor,在两个Activity结束的间隙,sensor可能有效了。 但至少,我们的目的达到了,而且没有影响用户使用。 为了编程方便,最好定义一个Activity基类,处理这些共通问题。 zh u410289616发表于xx-1-2613:13:34m ark保留,谢谢h286271819发表于xx-2-1815:30:28楼主你解决没,现在我问题跟你一样阿!t xlong_on z发表于xx-4-2814:36:11回复chenjuncong的帖子不知道你是怎么跳到第一个activity的?startActivity,或者一个一个的从栈中弹出?zj hd xx发表于xx-4-1913:27:08本帖最后由zjhdxx于xx-4-1913:28记录打开的Activity每打开一个Activity,就记录下来。 在需要退出时,关闭每一个Activity即可。 我的程序如下package .zyt.util;im portjava.util.ArrayList;im portjava.util.List;im portandroid.app.Activity;/*自定义的程序管理器,实现一个List,放入Activity,放出Activity,也提供程序完全退出的方法。 *author zhangytxx-4-19*/public classMyActivityManagerprivate staticListactivityList;private staticMyActivityManager instance;private MyActivityManager()public staticMyActivityManager getScreenManager()if(instance=null)/System.out.println(ddd=+Math.random();instance=new MyActivityManager();return instance;/退出List顶Activity public void popActivity(Activity activity)if(activity!=null)/在从自定义集合中取出当前Activity时,也进行了Activity的关闭操作/System.out.println(put out+activity.getLocalClassNam e();activity.finish();activity=null;activityList.rem ove(activity);/获得当前List顶Activity publicActivity currentActivity()Activity activity=null;if(!activityList.isEm pty()activity=activityList.get(activityList.size()-1);return activity;/将当前Activity推入List中public voidpushActivity(Activity activity)if(activityList=null)activityList=new ArrayList();/System.out.println(put in+activity.getLocalClassNam e();activityList.add(activity);/退出List中所有Activity publicvoid popAllActivity()/*while(true)Activity activity=currentActivity();
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 张家湾大桥墩盖梁抱箍施工方案a施工版试卷教案(2025-2026学年)
- 餐饮业员工培训课程开发方案
- 国际贸易中英文鸭绒被出口合同
- 撞车赔偿合同(标准版)
- 房地产项目工地远程监控设计方案
- 房产过户授权合同(标准版)
- 胚布合同(标准版)
- 高中物理实验心得范文集
- 小学英语拼读与词汇默写练习册
- 2025至2030健康补充剂市场前景分析及发展趋势分析与未来投资战略咨询研究报告
- 初级招采人员考试(招标采购专业实务)试题库及答案(2025年全国)
- 【MOOC】《中国马克思主义与当代》(北京科技大学)中国大学MOOC慕课答案
- 《通信原理》第六版课件(全)
- 汽车以租代购客户答疑常用话术(一)
- (完整版)黄帝内经繁体版
- 儿科学-见习课液体疗法
- 高考语文 最是风流袁隆平 课件(59张PPT)
- 河道告示牌设计样图、点、线、面编码及属性统计表、界桩(牌)身份证表、移位桩点之记表样式、数据库结构表
- 房建工程施工工艺标准化手册(图文并茂)
- DB4101-T 25.2-2021物业服务规范 第2部分:住宅-(高清现行)
- 一例给药错误不良事件汇报
评论
0/150
提交评论