求Android高手在我原有代码上添加一个退出程序的代码

求Android高手在我原有代码上添加一个退出程序的代码,第1张

@Override

public boolean onKeyDown(int keyCode, KeyEvent event) {

// TODO Auto-generated method stub

if (keyCode == KeyEventKEYCODE_BACK) {

new AlertDialogBuilder(MainActivitythis)setTitle("提示")

setIcon(Rdrawableic_launcher)setMessage("确定退出程序吗?")

setPositiveButton("是", new AlertDialogOnClickListener() {

@Override

public void onClick(DialogInterface dialog, int which) {

// TODO Auto-generated method stub

finish();

}

})setNegativeButton("否", null)show();

return true;

}

return superonKeyDown(keyCode, event);

}

放在你要退出的界面

这个问题不难!点击home,程序退出到后台后,生命周期在onStop。在onPause()做好数据备份。onRestoreInstanceState(Bundle)数据恢复成活动状态。

1后面添加了一个菜单返回功能键,这个方法也只能用systemexit(0)来关闭当前活动的Activity,附代码

public boolean onCreateOptionsMenu(Menu menu)

{

superonCreateOptionsMenu(menu);

MenuItem item = menuadd(MenuNONE, MenuNONE, MenuNONE, "Exit");

itemsetOnMenuItemClickListener(new MenuItemOnMenuItemClickListener()

{

public boolean onMenuItemClick(MenuItem item)

{

Systemexit(0);

return true;

}

});

return true;

}

2这样太不方便,每次退出界面之后应用程序还在运行,

网上提供了几种方法,将下面SysApplication这个类复制到工程里面,然后在每个Acitivity的oncreate方法里面通过SysApplicationgetInstance()addActivity(this); 添加当前Acitivity到ancivitylist里面去,最后在想退出的时候调用SysApplicationgetInstance()exit();可直接关闭所有的Acitivity并退出应用程序。

附代码:

import javautilLinkedList;

import javautilList;

import androidappActivity;

import androidappAlertDialog;

import androidappApplication;

import androidcontentDialogInterface;

import androidcontentIntent;

public class SysApplication extends Application {

private List mList = new LinkedList();

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) {

mListadd(activity);

}

public void exit() {

try {

for (Activity activity : mList) {

if (activity != null)

activityfinish();

}

} catch (Exception e) {

eprintStackTrace();

} finally {

Systemexit(0);

}

}

public void onLowMemory() {

superonLowMemory();

Systemgc();

}

}

3在应用程序里面 的activity的oncreate里面添加SysApplicationgetInstance()addActivity(this)

如:

public void onCreate(Bundle savedInstanceState)

{

superonCreate(savedInstanceState);

setContentView(Rlayoutmain);

SysApplicationgetInstance()addActivity(this);

}

以上就是关于求Android高手在我原有代码上添加一个退出程序的代码全部的内容,包括:求Android高手在我原有代码上添加一个退出程序的代码、Android怎么实现home键完全退出程序、Android 怎么退出整个应用程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/10037639.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-04
下一篇2023-05-04

发表评论

登录后才能评论

评论列表(0条)

    保存