在开发android应用时,常常通过按返回键(即keyCode == KeyEvent.KEYCODE_BACK)就能关闭程序,其实大多情况下该应用还在任务里运行着,其实这不是我们想要的结果。
我们可以这样做,当用户点击自定义的退出按钮或返回键时(需要捕获动作),我们在onDestroy()里强制退出应用,或直接杀死进程,具体操作代码如下:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
//按下键盘上返回按钮
if(keyCode == KeyEvent.KEYCODE_BACK){
new AlertDialog.Builder(this)
.setIcon(R.drawable.services)
.setTitle(R.string.prompt)
.setMessage(R.string.quit_desc)
.setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
})
.setPositiveButton(R.string.confirm, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
finish();
}
}).show();
return true;
}else{
return super.onKeyDown(keyCode, event);
}
}
@Override
protected void onDestroy() {
super.onDestroy();
System.exit(0);
//或者下面这种方式
//android.os.Process.killProcess(android.os.Process.myPid());
}
分享到:
相关推荐
在Android应用开发中,通常我们希望用户在按下返回键时能够退出应用程序,但为了提供更好的用户体验,Android系统并不推荐直接在用户第一次点击返回键时就退出。为了实现“再按一次返回键退出应用程序”的功能,我们...
在Android应用开发中,异常捕获是至关重要的一个环节,它可以帮助开发者及时发现并解决程序运行过程中的问题,提升用户体验。本篇文章将深入探讨“Android程序崩溃异常捕获”这一主题,包括如何实现异常捕获并将其...
在Android系统中,Home键、菜单键(在某些设备上是多任务键)和返回键是用户界面的重要组成部分,它们提供了导航和操作的基本方式。然而,在特定的应用场景下,如开发特殊应用或游戏时,开发者可能需要屏蔽这些系统...
在Android中,默认情况下应用程序无法直接监听Home键事件。但是可以通过创建一个特殊类型的对话框——`TYPE_KEYGUARD_DIALOG`类型的对话框来间接实现这一目标。当这样的对话框显示时,它可以捕获Home键事件,并通过...
在Android系统中,Home键是用户最常用的导航键之一,用于退出当前应用并返回主屏幕。然而,出于某些特殊需求,开发者可能希望捕获Home键的按下事件,比如实现后台服务持续运行、自定义启动器或者增强用户体验。下面...
这个驱动程序会注册为系统的一部分,每当键盘有新的按键动作时,系统都会将这些事件发送到驱动程序,然后再传递给其他应用程序。"驱动级键盘捕获.exe"很可能是用来调用winio库并管理驱动的用户模式程序,而"Winio....
在Android中,Activity的onKeyDown()方法可以捕获硬件按键的按下事件,包括返回键。因此,我们需要重写这个方法,检查Keycode.KEYCODE_BACK(返回键的代码)并处理对应的逻辑。 ```java @Override public boolean ...
Android设备通常配备多个物理按键,包括返回键,这对于应用的导航至关重要。然而,在某些场景下,开发者可能希望禁用或自定义这些行为,例如在游戏或全屏模式下。 首先,让我们理解Android系统如何处理物理按键事件...
在Android系统中,Home键是用户返回桌面的主要途径,通常情况下,按下Home键会结束当前应用程序并回到主屏幕。然而,在某些特定场景下,开发者可能需要捕获并处理Home键事件,比如实现后台运行、锁屏界面或者自定义...
在Android系统中,捕获按键事件是开发过程中的一项重要任务,尤其对于系统级应用或游戏开发者来说更是如此。本文将详细讲解如何在Linux内核层和Android应用层捕获按键事件,以及如何在Android NDK环境中编译和运行...
在Android开发中,为了提供更好的用户体验,通常会设置一个安全机制,防止用户意外地通过连续点击返回键快速退出应用程序。这个机制就是所谓的“两次点击返回键退出应用”。下面将详细介绍如何实现这一功能。 首先...
在安卓(Android)系统中,开发应用程序时,处理返回键以退出程序是常见的需求。本文将详细介绍两种在Android源码中实现此功能的方法,并提供相关的编程实践指导。 方法一:重写onBackPressed()方法 在Android应用...
在Android开发中,确保应用程序的稳定性和用户体验是至关重要的。当程序出现异常时,如果没有进行适当的处理,可能会导致应用突然崩溃,给用户带来不愉快的体验。因此,全局异常捕获是一个必要的技术手段,用于捕获...
`Android异常捕获demo`主要展示了如何有效地捕获和处理两种重要的错误类型:应用程序无响应(ANR)和未捕获异常(UncaughtExceptionHandler)。下面我们将深入探讨这两个概念以及如何在实际应用中实现它们。 1. **...
加载并显示一副图像对内存使用情况有显著的影响,Android提供了一个名为BitmapFactory 的实用程序类,该程序提供了一系列的静态方法,允许通过各种来源加载Bitmap图像。针对我们的需求,将从文件加载图像,并在最初...
在开发android应用时,常常通过按返回键(即keyCode == KeyEvent.KEYCODE_BACK)就能关闭程序,其实大多情况下并没有关闭改应用 我们可以这样做,当用户点击自定义的退出按钮或返回键时(需要捕获动作),我们在...
在Android开发中,确保应用程序的稳定性和用户体验至关重要。有时候,应用程序可能会遇到未预期的错误或异常,这可能导致程序崩溃,给用户带来不愉快的体验。为了解决这个问题,开发者通常会实现全局异常捕获机制,...
Android-CrashReporter是一款专为Android开发者设计的实用工具,其主要功能是在应用程序崩溃时捕获异常信息,并将其详细记录到文件中,便于开发者后期分析和调试。在Android应用开发过程中,异常处理是非常重要的一...
在Android应用开发中,"Crash闪退捕获"是一个至关重要的环节,它涉及到应用程序的稳定性和用户体验。当应用出现未处理的异常时,系统会强制关闭应用,这就是所谓的"闪退"。为了提高应用质量,开发者需要自定义异常...