做程序退出的时候,始终退出不了,网上找了很多方法。
ActivityManager am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
am.restartPackage(getPackageName());
//不行啊
android.os.Process.killProcess(android.os.Process.myPid());//也不行
最后用了这个办法:
package com.android.cist.util;
import java.util.LinkedList;
import java.util.List;
import android.app.Activity;
import android.app.Application;
public class ApplicationUtil extends Application {
private List<Activity> activityList = new LinkedList<Activity>();
private static ApplicationUtil instance;
private ApplicationUtil() {
}
// 单例模式中获取唯一的ApplicationUtil实例
public static ApplicationUtil getInstance() {
if (null == instance) {
instance = new ApplicationUtil();
}
return instance;
}
// 添加Activity到容器中
public void addActivity(Activity activity) {
activityList.add(activity);
}
// 遍历所有Activity并finish
public void exit() {
for (Activity activity : activityList) {
activity.finish();
}
System.exit(0);
}
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
final AlertDialog isExit = new AlertDialog.Builder(this).create();
isExit.setTitle("系统提示");
isExit.setMessage("确定要退出吗");
DialogInterface.OnClickListener listener = new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
switch (which) {
case AlertDialog.BUTTON1:
ActivityManager am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
am.restartPackage(getPackageName());
/*ApplicationUtil.getInstance().exit();*/
//android.os.Process.killProcess(android.os.Process.myPid());
break;
case AlertDialog.BUTTON2:
isExit.cancel();
break;
default:
break;
}
}
};
isExit.setButton("确定", listener);
isExit.setButton2("取消", listener);
isExit.show();
return false;
}
return false;
}
在每个界面的onCreate()方法中添加ApplicationUtil.getInstance().addActivity(this);
分享到:
相关推荐
我们还可以使用键盘快捷键来快速地前进、后退和退出应用程序。 VMware 安装 Android 2.2-x86 图文教程可以帮助我们快速地安装和使用 Android 系统,并提供了一些实用的技巧和设置项来提高使用体验。 VMware 安装 ...
这个"Android代码-基于Android2.2照相机Demo可以直接放到项目里使用.rar"压缩包提供了一个适用于Android 2.2(API级别8)的相机功能演示示例。让我们深入探讨这个Demo包含的知识点,以及如何在实际开发中应用这些...
2. 在“安装客户机操作系统”向导中,选择“安装程序光盘映像文件”并浏览到下载的android-x86-2.2-generic.iso文件。 3. 接下来,选择“其他”作为操作系统类型,然后选择“FreeBSD”作为版本,尽管它不是完全准确...
### Android完美退出程序详解 #### 一、引言 在Android开发过程中,有时我们需要实现一个“一键退出”功能,即用户点击某个按钮后能够迅速且干净地关闭整个应用程序。这不仅可以提升用户体验,还能确保程序资源...
在Android操作系统中,退出应用程序并不是一个直接明了的过程,因为Android设计时考虑了资源管理和用户体验。通常情况下,用户点击返回键或应用切换器中的“关闭”按钮,应用并不会立即结束,而是进入后台运行状态。...
### Android程序完全退出的方法 #### 一、引言 在Android开发过程中,有时我们需要让程序完全退出,而不是简单地关闭当前活动(Activity)。这在某些特定的应用场景下尤为重要,例如当用户点击“退出”按钮时,...
作为基于Linux的开源手机平台,Android包括一部手机工作所需的全部软件——操作系统、用户界面和应用程序,而且不存在任何以往阻碍移动产业创新的专有权障碍。谷歌公司与开放手机联盟合作开发了Android,这个联盟...
这是在Android 2.2及更高版本中推荐使用的关闭应用程序的方法之一。 #### 2. 使用`Process.killProcess` 对于简单的进程终止,可以直接调用`killProcess`方法,但要注意这种方法会立即结束当前进程,可能导致数据...
Android 2.2版本中,开发者面临的一个挑战是如何人为地强制关闭应用程序。这是因为Android系统通常会管理应用的进程,以优化内存使用和用户体验。在默认情况下,即使用户退出应用程序,系统可能仍然保留其后台进程,...
根据提供的信息,我们可以总结出以下有关 Android 界面效果的关键知识点: ### 一、界面过渡动画(Transition Animation) #### 1.1 `...这些知识点对于提高 Android 应用程序的用户体验至关重要。
程序测试软件: Elcipse + Android2.2以上sdk版本 数据库: Android自带的SQLite数据库 系统功能设计: 用户进入手机通讯管理软件后,会看到联系人列表界面。联系人列表界面主菜单中包括添加联系人、搜索联系人、...
此外,确保已安装对应版本的SDK,如Android 1.5 r4、Android 1.6 r3、Android 2.1 r2和Android 2.2 r1。 当满足所有条件后,可在命令行中进入项目目录并运行`$NDK/ndk-gdb`命令开始调试。如果遇到错误,检查adb是否...
在Android应用开发中,Activity是用户界面的基本单元,用于展示应用程序的不同屏幕或“视图”。当我们需要在不同的Activity之间进行切换时,为了提供更丰富的用户体验,可以加入动画效果。这不仅能够使应用看起来...
- **挑战**:在Android 2.2及以上版本中,直接结束整个应用变得复杂。 - **策略**: - **抛异常强制退出**:这种方法会导致程序崩溃,通常不建议使用。 - **记录打开的Activity**:每次启动新Activity时进行记录...
同年,Android 2.2版本的发布,是Android在企业级市场的重要跨越。该版本增加了智能密码策略、远程擦除功能,以及对Exchange日历的兼容,使得Android在商务应用方面有了显著提升。 到了2010年9月,市场研究机构...
- **Android SDK**:Android SDK 包含了一系列的工具和库文件,用于构建、调试和部署 Android 应用程序。 #### 3.2 配置开发工具 - **配置 Eclipse 和 ADT**:在 Eclipse 中安装 ADT 插件,以便能够使用 Android ...
《Android基础教程(第3版·修订版)》是一部关于Android开发的基础教程,采用Pragmatic系列图书一贯由浅入深、循序渐进的方式讲解了Android程序设计的核心概念和技术。书中不仅结合数独游戏开发案例形象生动地...
本实训报告主要围绕Android平台下的视频播放器进行,旨在深化Java语言和Android应用程序开发的实践理解。Android应用程序开发基于Java语言,通过本次实训,学生不仅能巩固Java语言的理论知识,还能提升Android应用...
##### 2.2 安装Android Studio - 双击下载好的安装包,按照提示完成安装过程。 - **注意事项**: - 在安装过程中,可以选择SDK的安装路径,避免默认安装到C盘,以免占用过多空间。 - Android Studio内置了Android...
在Android 2.2及以上版本,直接结束应用的方法受到限制。一般不推荐使用killProcess()或System.exit(),因为它们可能导致数据丢失和用户体验问题。通常建议通过正常关闭Activity栈的方式退出应用。对于需要全局退出...