169it科技资讯
169it -->


当前位置:  编程技术>移动开发

Android双击返回键退出程序的实现方法

    来源: 互联网  发布时间:2014-10-26

本文实例讲述了Android双击返回键退出程序的实现方法,是Android程序开发中一个非常实用的功能,分享给大家供大家参考之用。具体方法如下:

一、实现思路:

用户按下返回键时设定一个定时器来监控是否2秒内实现了退出,如果用户没有接着按返回键,则清除第一次按返回键的效果,使程序还原到第一次按下返回键之前的状态。定时器是每次用户按下返回键才去创建。

二、功能代码:

/**
 * 菜单、返回键响应
 */
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
 // TODO Auto-generated method stub
 if(keyCode == KeyEvent.KEYCODE_BACK)
{ 
  exitBy2Click(); //调用双击退出函数
}
 return false;
}
/**
 * 双击退出函数
 */
private static Boolean isExit = false;

private void exitBy2Click() {
 Timer tExit = null;
 if (isExit == false) {
 isExit = true; // 准备退出
 Toast.makeText(this, "再按一次退出程序", Toast.LENGTH_SHORT).show();
 tExit = new Timer();
 tExit.schedule(new TimerTask() {
  @Override
  public void run() {
  isExit = false; // 取消退出
  }
 }, 2000); // 如果2秒钟内没有按下返回键,则启动定时器取消掉刚才执行的任务

 } else {
 finish();
 System.exit(0);
 }
}

上述代码中的onKeyDown()函数可以在菜单栏Source->Override/Implement Methods里找到,双击即可自动添加到代码中。

希望本文所述对大家的Android程序设计有所帮助。


    
相关技术文章:
    ▪Android实现侦听电池状态显示、电量及充电动态显示的方法

     本文实例讲述了Android实现侦听电池状态显示、电量及充电动态显示的方法,是Android应用程序开发中非常常用的重要功能。分享给大家供大家参考之用。具体方法如下: 使用android系统的电池侦听和系统的电池图片如下; 引入源代码中的两个xml文件(这里我在android2.2的jar包中找不到,所以才引入,源代码路径:C:\android-sdk-windows\platforms\android-8\data\res\drawable),之后会发现stat_sys_battery.xml报错,如下图所示:   1.这些图引入到我的drawable目录下,然后将stat_sys_battery.xml中的图片引入路径更改,如下: ......


    ▪Android获取当前已连接的wifi信号强度的方法

     本文实例讲述了Android获取当前已连接的wifi信号强度的方法,是Android程序开发中非常常见的重要技巧。分享给大家供大家参考之用。具体方法如下: 1.得到当前已连接的wifi信息 WifiManager wifi_service = (WifiManager)getSystemService(WIFI_SERVICE); WifiInfo wifiInfo = wifi_service.getConnectionInfo(); 其中wifiInfo有以下的方法: wifiinfo.getBSSID(); wifiinfo.getSSID(); wifiinfo.getIpAddress();获取IP地址。 wifiinfo.getMacAddress();获取MAC地址。 wifiinfo.getNetworkId();获取网络ID。 wifiinfo.getLinkSpeed(......


    ▪Android实现动态显示或隐藏密码输入框的内容

     本文实例展示了Android实现动态显示或隐藏密码输入框内容的方法,分享给大家供大家参考之用。具体方法如下: 该功能可通过设置EditText的setTransformationMethod()方法来实现隐藏密码或者显示密码。 示例代码如下: private Button mBtnPassword; private EditText mEtPassword; private boolean mbDisplayFlg = false; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); mEtPassword = (EditText)findViewById(R.id.password); mBtnPassword = (Button)findViewById(R.id.btnPassword)......


 
最新技术文章:
    ▪Android开发之登录验证实例教程

     本文所述实例源自一个项目开发中的登录验证功能,具体的要求就是,在Android端输入用户名和密码,在服务器端验证MySQL数据库中是否有此用户,实现之前当然首要的是,如何使Android端的数据发送到服务器端,具体的实现方法如下: 服务器端:ManageServlet.java代码如下: public class ManageServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("utf-8"); response.setCharacterEncoding("utf-8"); String name = request.getParameter("name"); String password......


    ▪Android开发之注册登录方法示例

     本文所述,继续上一篇关于Android端向服务器端发送数据的方法进一步完善注册登录的方法,由于版本问题出现一点瑕疵,今天经过调试已经解决,在这里给大家介绍一下。 在Android4.0以后版本的对于网络权限要求变得严格,致使上一篇所述的案例无法将数据发送到服务器端,当你一点击发送数据,Android控制台就会报错,错误当然是很让人头疼,基本上都是关于http的错误,所以可以肯定是Android虚拟机向服务器发送数据时出现了错误,经过一番检查与测试后才知道,4.0之后的版本,主线程中不允许调用网络,如果你需要的话,应该另起一个线程处理网络连接Th......


    ▪Android获取手机SIM卡运营商信息的方法

     本文实例讲述了Android获取手机SIM卡运营商信息的方法,对于Android程序设计有非常实用的价值。分享给大家供大家参考之用。具体方法如下: 主要功能代码如下: /** * 获取SIM卡运营商 * * @param context * @return */ public static String getOperators(Context context) { TelephonyManager tm = (TelephonyManager) context .getSystemService(Context.TELEPHONY_SERVICE); String operator = null; String IMSI = tm.getSubscriberId(); if (IMSI == null || IMSI.equals("")) { return operator; } if (IMSI.startsWith("46000") || IMSI.startsWith("46002")) { operator = "中国移动"; } else if (IMSI.startsWith("4......


 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2017,169IT.COM,E-mail:www_169it_com#163.com(请将#改为@)

浙ICP备11055608号