当前位置: 移动技术网 > IT编程>移动开发>Android > Android编程之退出整个应用程序的方法

Android编程之退出整个应用程序的方法

2019年07月24日  | 移动技术网IT编程  | 我要评论

七雄q传答题器,我是黎智英,操向农

本文实例讲述了android编程之退出整个应用程序的方法。分享给大家供大家参考,具体如下:

我们在写android应用程序时,经常会遇到想退出当前acitivity,或者直接退出应用程序.我之前的一般操作是按返回键,或者直接按home键直接返回,其实这两种操作都没有关闭当前应用程序,没有释放系统资源。有时跳转的activity较多时,还需要多次按返回键,这样感觉一点都不爽。

后面添加了一个菜单返回功能键,这个方法也只能用system.exit(0)来关闭当前活动的activity,代码如下:

public boolean oncreateoptionsmenu(menu menu)
{
super.oncreateoptionsmenu(menu);
menuitem item = menu.add(menu.none, menu.none, menu.none, "exit");
item.setonmenuitemclicklistener(new menuitem.onmenuitemclicklistener()
{
public boolean onmenuitemclick(menuitem item)
{
system.exit(0);
return true;
}
});
return true;
}

想到这样太不方便了,每次退出界面之后应用程序还在运行,今天查了下资料终于把这个问题给解决了,

网上提供了几种方法,我吸收了下面这个自认为简单易懂的方法,将下面sysapplication这个类复制到工程里面,然后在每个acitivity的oncreate方法里面通过sysapplication.getinstance().addactivity(this); 添加当前acitivity到ancivitylist里面去,最后在想退出的时候调用sysapplication.getinstance().exit();可直接关闭所有的acitivity并退出应用程序。

附代码:

import java.util.linkedlist; 
import java.util.list; 
import android.app.activity; 
import android.app.alertdialog; 
import android.app.application; 
import android.content.dialoginterface; 
import android.content.intent; 
public class sysapplication extends application { 
  private list<activity> mlist = new linkedlist<activity>(); 
  private static sysapplication instance; 
  private sysapplication() {  
  } 
  public synchronized static sysapplication getinstance() { 
    if (null == instance) { 
      instance = new sysapplication(); 
    } 
    return instance; 
  } 
  // add activity 
  public void addactivity(activity activity) { 
    mlist.add(activity); 
  } 
  public void exit() { 
    try { 
      for (activity activity : mlist) { 
        if (activity != null) 
          activity.finish(); 
      } 
    } catch (exception e) { 
      e.printstacktrace(); 
    } finally { 
      system.exit(0); 
    } 
  } 
  public void onlowmemory() { 
    super.onlowmemory();   
    system.gc(); 
  } 
}

在应用程序里面 的activity的oncreate里面添加

复制代码 代码如下:
sysapplication.getinstance().addactivity(this)

如:

public void oncreate(bundle savedinstancestate)
{
super.oncreate(savedinstancestate);
setcontentview(r.layout.main);
sysapplication.getinstance().addactivity(this); 
}

希望本文所述对大家android程序设计有所帮助。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网