
@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 怎么退出整个应用程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)