Android 几种常用的返回键重写方式

// 第一种
public boolean onKeyDown(int keyCode, KeyEvent event) {

// 按下键盘上返回按钮 if (keyCode == KeyEvent.KEYCODE_BACK) {

    new AlertDialog.Builder(this)            .setMessage("确定退出系统吗?")            .setNegativeButton("取消",                    new DialogInterface.OnClickListener() {                        public void onClick(DialogInterface dialog,                                            int which) {                        }                    })            .setPositiveButton("确定",                    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());
}

// 第二种
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
  if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
    return true;
  }
  return super.onKeyDown(keyCode, event);
}

// 第三种
@Override
public void onBackPressed() {
  super.onBackPressed();
}

原文地址:https://www.cnblogs.com/yxfcnbg/p/11441797.html

时间: 2024-08-29 19:44:42

Android 几种常用的返回键重写方式的相关文章

webView 加载进度条,webView返回键重写机制

1.图片延时加载 brower = (WebView) this.findViewById(R.id.brower); settings = brower.getSettings(); settings.setJavaScriptEnabled(true); //阻塞图片下载 settings.setBlockNetworkImage(true); private class Client extends WebViewClient     {         @Override        

Ext_两种处理服务器端返回值的方式

1.Form表单提交返回值处理 //提交基本信息表单  f.form.submit({      clientValidation:true,      //表单提交后台处理地址      url:'/globe_background/Commonality/AccountClub.ashx?action=updateuserinfoform&uid=' + jsonDate.uid,      //数据提交方式      method:'POST',                      

Android三种基本的加载网络图片方式(转)

Android三种基本的加载网络图片方式,包括普通加载网络方式.用ImageLoader加载图片.用Volley加载图片. 1. [代码]普通加载网络方式 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60

Android应用系列:双击返回键退出程序

前言 有一个很古老的应用技巧,一直被各种大大小小的app用得乐此不疲,那就是双击返回键退出程序.今天就写写它的实现代码,非常简单而且实用. 正文 双击返回键退出程序,一般有两种实现思路,一种是用一个布尔值变量来记录按键事件,并通过线程延时来实现效果:另外一种是直接通过记录按键时间计算时间差实现功能,现在就跟大家分享下代码吧.O(∩_∩)O哈哈~ 1.利用线程延时实现 private static boolean mBackKeyPressed = false;//记录是否有首次按键 @Overr

android 按两次物理返回键退出程序

<?xml version="1.0" encoding="utf-8"?> <!-- 定义当前布局的基本LinearLayout --> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height=

Android 在fragment中实现返回键单击提醒 双击退出

尝试用mvp架构加dagger2来重写了一下,大致功能都实现了,还没有全部完成. 项目地址 接近完成的时候,想在天气信息页面实现一个很常见的功能,也就是点击屏幕下方的返回键的时候不是返回到上一个activity或者退出,而是提醒用户再按一次就会退出. 实现思路也很简单,就是对返回键的动作进行监听和拦截,然后重写成需要的动作,因为在我的程序中activity只作为调度器使用,真正的View功能在fragment中,所以返回键的动作捕捉只能以接口形式 BaseFragment实现这个接口,代码如下:

Android连续点击两次返回键退出应用,提示“再按一次退出应用&quot;

// 定义一个long型变量,用于判断两次点击的间隔 private long exitTime: // 实现返回键的点击事件 public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { exit(); // 在这里进行点击判断 return false; } return super.onKeyDown(keyCode, event); } public void

四种常用的post数据提交方式

application/x-www-form-urlencoded 这是默认的post传输方式,用url转码的方法,让数据以key1=val1&key2=val2的方式传输.此方式的数据形式与get方式一样. multipart/form-data 这个也是常见的方式,最常用于传输图片和其他文件.下面是一段数据事例: POST http://www.example.com HTTP/1.1 Content-Type:multipart/form-data; boundary=----WebKit

几种常用网页返回顶部代码

一.使用HTML的锚标记最简单了 但是唯一的缺点就是样式不怎么样,会显示这个锚标记. <aname="top"id="top"></a> 放置位置在<body>标签之后随便找个地方放都可以,只要靠近顶部即可. 页面底部放置: <ahref="#top"target="_self">返回顶部</a> 二.使用Javascript Scroll函数返回顶部 scrooll