在开发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系统中,捕获按键事件是开发过程中的一项重要任务,尤其对于系统级应用或游戏开发者来说更是如此。本文将详细讲解如何在Linux内核层和Android应用层捕获按键事件,以及如何在Android NDK环境中编译和运行...
Android设备通常配备多个物理按键,包括返回键,这对于应用的导航至关重要。然而,在某些场景下,开发者可能希望禁用或自定义这些行为,例如在游戏或全屏模式下。 首先,让我们理解Android系统如何处理物理按键事件...
在Android系统中,Home键是用户返回桌面的主要途径,通常情况下,按下Home键会结束当前应用程序并回到主屏幕。然而,在某些特定场景下,开发者可能需要捕获并处理Home键事件,比如实现后台运行、锁屏界面或者自定义...
在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闪退捕获"是一个至关重要的环节,它涉及到应用程序的稳定性和用户体验。当应用出现未处理的异常时,系统会强制关闭应用,这就是所谓的"闪退"。为了提高应用质量,开发者需要自定义异常...
“返回键监听”是Android系统中的一个特性,它允许应用捕获并处理用户按下物理返回键或者在界面上触发的返回操作。在Ionic应用中,由于它是基于Web技术构建,所以需要额外的处理来实现这一功能。通常,开发者会使用...