日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > Android >内容正文

Android

Android 如何退出整个应用程序?

發(fā)布時(shí)間:2023/12/20 Android 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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)題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。