当前位置:  编程技术>移动开发

Android 退出程序的若干方法总结

    来源: 互联网  发布时间:2014-10-20

    本文导语:  Android程序有很多Activity,比如说主窗口A,调用了子窗口B,如果在B中直接finish(), 接下里显示的是A。在B中如何关闭整个Android应用程序呢? 本人总结了几种比较简单的实现方法。1. Dalvik VM的本地方法 代码如下:android.os.Process.killPro...

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());

系统会将,该包下的 ,所有进程,服务,全部杀掉,就可以杀干净了,要注意加上权限 android.permission.RESTART_PACKAGES

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。并提供退出所有Activity的方法。代码如下:

代码如下:

public class ScreenManager {
private static Stack activityStack;
private static ScreenManager instance;
private ScreenManager(){
}
public static ScreenManager getScreenManager(){
instance=new ScreenManager();
}
return instance;
}
//退出栈顶Activity
public void popActivity(Activity activity){
activity.finish();
activityStack.remove(activity);
activity=null;
}
}
//获得当前栈顶Activity
public Activity currentActivity(){
Activity activity=activityStack.lastElement();
return activity;
}
//将当前Activity推入栈中
public void pushActivity(Activity activity){
activityStack=new Stack();
}
activityStack.add(activity);
}
//退出栈中所有Activity
public void popAllActivityExceptOne(Class cls){
while(true){
Activity activity=currentActivity();
break;
}
break;
}
popActivity(activity);
}
}
}

    
 
 

您可能感兴趣的文章:

  • Android 按后退键退出Android程序的实现方法
  • Android实现退出时关闭所有Activity的方法
  • Android双击返回键退出程序的实现方法
  • Android 再按一次返回键退出程序实现思路
  • ANDROID 完美退出APP的实例代码
  • Android Activity 完全结束并退出程序的实例
  • Android小游戏 Android Shapes iis7站长之家
  • android 退出程序解决内存释放的问题
  • Android里实现退出主程序的提示代码
  • Android 再按一次退出程序的实现方法
  • Android 完全退出应用程序的解决方法
  • android 完全退出应用程序实现代码
  • Android开发需要的几点注意事项总结
  • Android-屏幕适配需要注意的地方总结
  • android图像绘制(七)ClipRect局部绘图/切割原图绘制总结
  • Android4.2中全屏或者取消标题栏的方法总结
  • Android实现Back功能代码片段总结
  • Android Mms之:对话与联系人关联的总结详解
  • Android按钮单击事件的四种常用写法总结
  • Android编程中避免内存泄露的方法总结
  • Android点击Button实现功能的几种方法总结
  • 基于android startActivityForResult的学习心得总结
  • android ImageView 的几点经验总结
  • Android实用的代码片段 常用代码总结
  • android WebView组件使用总结
  • Android中的脑残设计总结
  • android操作XML的几种方法总结
  • 基于Android ContentProvider的总结详解
  • android notification 的总结分析
  • Android 异步加载图片分析总结
  • Android中的JSON详细总结
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 申请Android Map 的API Key(v2)的最新申请方式(SHA1密钥)
  • Android瀑布流实例 android_waterfall
  • android 4.0 托管进程介绍及优先级和回收机制
  • Android系统自带样式 (android:theme)
  • Android访问与手机通讯相关类的介绍
  • Android网络共享软件 Android Wifi Tether
  • Android及andriod无线网络Wifi开发的几点注意事项
  • Android 图标库 Android GraphView
  • Android 2.3 下StrictMode介绍
  • 轻量级Android开发工具 Android Tools
  • Android 开发环境 Android Studio
  • IDEA的Android开发插件 idea-android
  • Android手机事件提醒 Android Notifier
  • XBMC的Android客户端 android-xbmcremote
  • Android小游戏 Android Shapes
  • Android电池监控 Android Battery Dog
  • android开发:“android:WindowTitle”没有对应项no resource
  • Android 上类似IOS 的开关控件。 Android ToggleButton
  • Android 将 android view 的位置设为右下角的解决方法
  • Android 2D游戏引擎 Android Angle
  • Android的UI工具包 android-ui-utils


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3