Android 如何退出整个应用程序?
生活随笔
收集整理的這篇文章主要介紹了
Android 如何退出整个应用程序?
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
轉(zhuǎn)載文章:http://blog.csdn.net/sunnyfans/article/details/7688092
Android?怎么退出整個(gè)應(yīng)用程序?
我們?cè)趯慳ndroid應(yīng)用程序時(shí),經(jīng)常會(huì)遇到想退出當(dāng)前Acitivity,或者直接退出應(yīng)用程序.我之前的一般操作是按返回鍵,或者直接按home鍵直接返回,其實(shí)這兩種操作都沒有關(guān)閉當(dāng)前應(yīng)用程序,沒有釋放系統(tǒng)資源。有時(shí)跳轉(zhuǎn)的activity較多時(shí),還需要多次按返回鍵,這樣感覺一點(diǎn)都不爽。
后面添加了一個(gè)菜單返回功能鍵,這個(gè)方法也只能用system.exit(0)來(lái)關(guān)閉當(dāng)前活動(dòng)的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;
}
想到這樣太不方便了,每次退出界面之后應(yīng)用程序還在運(yùn)行,今天查了下資料終于把這個(gè)問(wèn)題給解決了,
網(wǎng)上提供了幾種方法,我吸收了下面這個(gè)自認(rèn)為簡(jiǎn)單易懂的方法,將下面 SysApplication 這個(gè)類復(fù)制到工程里面,然后在每個(gè)Acitivity的oncreate方法里面通過(guò) SysApplication.getInstance().addActivity(this); ? 添加當(dāng)前Acitivity到ancivitylist里面去,最后在想退出的時(shí)候調(diào)用 SysApplication.getInstance().exit();可直接關(guān)閉所有的Acitivity并退出應(yīng)用程序。
附代碼:
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();?
??? }? ?
}
在應(yīng)用程序里面 的activity的oncreate里面添加 SysApplication.getInstance().addActivity(this)
如:
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
SysApplication.getInstance().addActivity(this);?
}
參考資料: ? ?http://www.2cto.com/kf/201201/117079.html
? ? ??http://www.cnblogs.com/stay/articles/1898891.html
總結(jié)
以上是生活随笔為你收集整理的Android 如何退出整个应用程序?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Python实战项目—金融量化分析(数据
- 下一篇: Android手机开发课程设计之音乐播放