Android 如何退出程序
来源:互联网 发布:mac修改磁盘权限 编辑:程序博客网 时间:2024/04/28 10:38
如果退出当前运行的Activity,可以使用 this.finish() 或者 System.exit(0) 。
如果退出整个程序,如下操作:
方式一:
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。
然后想到的是截获back按键的事件,使用System.exit(0)和android.os.Process.killProcess(android.os.Process.myPid())来退出程序,还是不行,当前的activityA是被干掉了,但是还是会被ActivityManager接管返回到前一个activity。而且如果之前activity需要一些传过来的参数的话会导致程序连续抛异常。
最后终于找到一个可行的方法:使用ActivityManager彻底退出程序
ActivityManager manager = (ActivityManager)getSystemService(ACTIVITY_SERVICE);
manager.restartPackage(getPackageName());
需要声明权限<uses-permission android:name="android.permission.RESTART_PACKAGES"/>
这种方法会终止一切和这个程序包关联的,所有共享同一uid的process被kill,所有的activity会被removed
所有创建的服务会停止,还会发一个广播 Intent.ACTION_PACKAGE_RESTARTED 导致所有注册alarms被stopped, notifications 被removed。
- 如何退出android程序
- Android如何退出程序
- Android 如何退出程序
- android如何完全退出程序
- 如何正确退出Android程序
- android应用程序如何退出?探究程序退出的方法
- phonegap在android中如何退出程序
- 如何让android程序完全退出
- Android开发之如何完全退出程序
- Android如何立即退出整个程序
- 【Android】24、如何随时随地退出程序
- Android如何随时退出程序呢?
- Android之如何随时随地退出程序
- VC程序退出----如何退出
- Android 退出Activity退出程序
- vc如何退出程序
- c#如何退出程序
- vc如何退出程序
- set 和 get 方法
- Java线程:线程栈模型与线程的变量
- Ajax 获取服务器时间[无刷新] 代码通用
- 【技术分享】发布本人所属 Java 与 C++ 开源项目
- 使用PHP导入和导出CSV文件
- Android 如何退出程序
- 强制改变默认输入法
- Wpf DataGrid 行双击功能
- 迷茫的程序员看<曾仕强论三国智慧>有感
- LinuxSysMonitor Linux系统监控器
- Android 怎样在其他线程中更新UI 线程
- 经典面试问题
- 快速复制CRM系统
- 各种排序算法总结