文章目录

  • 目的
  • 基础说明
  • 双击返回键退出应用
  • 单击返回键回到桌面
  • 总结

目的

双击返回键退出应用 很早之前就是Android中非常常见的一种功能,而目前好多安卓应用为了应用常驻都改为使用 单击返回键返回桌面 ,这篇文章将对相关内容做个简单记录。

基础说明

本文提到的这两个功能主要需要涉及的内容有下面一些。

返回键被按下事件回调:

// 方法一
@Override
public void onBackPressed() {// 返回键被按下// TODO
}// 方法二
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {// 判断是否是返回键if ((keyCode == KeyEvent.KEYCODE_BACK)) {// TODOreturn true;}// 不是返回键则执行系统默认行为return super.onKeyDown(keyCode, event);
}

退出应用程序:

this.finish(); // 关闭activity
System.exit(0); // 退出进程

返回桌面:

// 方法一
moveTaskToBack(true);// 方法二
Intent intent= new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);

双击返回键退出应用

这个功能主要就是记录每次返回键被按下的时间,若两次按下事件间隔小于一定值则退出应用程序,代码与演示如下:

private long mPressedTime = 0; // 用于记录返回键按下时间@Override
public void onBackPressed() {long mNowTime = System.currentTimeMillis(); // 获取当前时间if ((mNowTime - mPressedTime) > 2000) {// 和前一次按返回键时间差大于2000ms,给出提示并记录这次按键时间Toast.makeText(this, "再按一次返回键退出应用程序", Toast.LENGTH_SHORT).show();mPressedTime = mNowTime;} else {// 和前一次按返回键时间差小于等于2000ms,退出应用程序this.finish(); // 关闭activitySystem.exit(0); // 退出进程}
}

单击返回键回到桌面

这个功能就非常简单的,直接看下面演示即可:

总结

双击返回键退出应用单击返回键返回桌面 这两个功能总体来说实现起来非常简单,参考上面内容基本就够用。

Android Native APP开发笔记:双击返回键退出应用单击返回键返回桌面相关推荐

  1. Android Native APP开发笔记:使用WebView控件加载网页

    文章目录 目的 基础使用 处理网页导航 加载本地网页 Web和Native之间交互 调试Web应用 处理页面重绘 总结 目的 WebView是一个比较常用的控件,功能上也比较单一,就是用来加载网页的, ...

  2. Android Native APP开发笔记:从新建到打包流程记录

    文章目录 目的 下载与安装 新建项目与运行调试 更换名称和图标 打包应用 applicationId 版本控制 真机调试 总结 题外话 目的 安卓是现在移动端平台占有率最大的平台,如果进行移动端用户应 ...

  3. Android Native APP开发笔记:文件存储与访问

    文章目录 目的 基础说明 应用专属存储空间 共享存储 其它 总结 目的 APP开发与使用过程中免不了和文件打交道,对于Windows或Linux而言文件的存储与访问操作都很方便,直接通过文件系统路径和 ...

  4. Android移动APP开发笔记——最新版Cordova 5.3.1(PhoneGap)搭建开发环境

    引言 简单介绍一下Cordova的来历,Cordova的前身叫PhoneGap,自被Adobe收购后交由Apache管理,并将其核心功能开源改名为Cordova.它能让你使用HTML5轻松调用本地AP ...

  5. Android移动APP开发笔记——Cordova(PhoneGap)通过CordovaPlugin插件调用 Activity 实例...

    引言 Cordova(PhoneGap)採用的是HTML5+JavaScript混合模式来开发移动手机APP.因此当页面须要获取手机内部某些信息时(比如:联系人信息,坐标定位.短信等),程序就须要调用 ...

  6. Android Studio App开发之通知渠道NotificationChannel及给华为、小米手机桌面应用添加消息数量角标实战(包括消息重要级别的设置 附源码)

    需要全部源码或运行有问题请点赞关注收藏后评论区留言~~~ 一.通知渠道NtoificationChannel 为了分清消息通知的轻重缓急,Android8.0新增了通知渠道,并且必须指定通知渠道才能正 ...

  7. 【Android】Parse开发笔记(1)—— 准备

    一.简介 Parse是由 YC 孵化出来的.专为移动应用提供后台服务的云计算平台,为开发者包办繁琐的后台服务,让开发者只需专注于具体的开发工作.它提供任意数据保存.照片或其它文件存储.发送推送通知.创 ...

  8. 英语学习app开发笔记

    英语学习app开发笔记 按钮界面跳转功能 数据库实现存储功能 从raw中读取文件 将文件内容存入数据库 适配器Adapter 未搜索时将部分项目显示在界面上 搜索栏使用 搜索并将结果显示在listvi ...

  9. Android音乐App开发准备( 简易音乐 二 )

    Android音乐App开发准备( 简易音乐 二 ) 关于 效果: 编写Activity基类-BaseActivity 修改启动页 复用的标题栏 关于   第一篇看Android音乐App开发准备( ...

最新文章

  1. Java飞行记录器 JRockit Flight Recorder JFR诊断JVM的历史性能和操作
  2. 使用CURL构建爬虫,抓取百度百科内容
  3. 实验测试2SK241的g-s击穿电压
  4. python turtle画熊-Python turtle画图库画姓名实例
  5. 【WPF】拖拽ListBox中的Item
  6. 医疗在线服务InQuicker,融资0元年盈利400万美元!拒绝风投与炒作
  7. 经典面试题(5):小心javascript自动插入分号机制
  8. 质数的和与积(信息学奥赛一本通-T1405)
  9. jdbc工具类 配置版本 20210412_222527.mp4
  10. linux-新建一个centos虚拟机系统-安装全过程图示
  11. 微信小程序 不能跳转页面 跳转不生效
  12. 动态规划_01背包问题_Java实现
  13. 死锁、EAT、页表、单双缓冲区典型题目及解析
  14. Mybatis Plus语法+示例
  15. Linux下MySQL表名区分大小写
  16. 统计学习方法读书笔记13-改进的迭代尺度法(优化算法)
  17. python如何把控制台输出保存到文件中_如何用10行代码完成目标检测
  18. Intellij IDEA 修改默认配置
  19. 番茄助手-解决vs2010没有智能提示问题
  20. 笔记———No.1 使用matlab画圆

热门文章

  1. 无网格和无网格CFD,你不知道的事
  2. html 答题一题一题展示,微信小程序实现随机答题时,点击下一题应该如何使他随机展示出来...
  3. Adobe edge animate制作HTML5动画
  4. python下载视频you_python 视频下载神器(you-get)
  5. 从泥坑里爬起来的人就是圣人
  6. 小程序的消息提醒——订阅消息
  7. Python入门必须知道的11个知识点!
  8. linux centos 7 挂载U盘
  9. CAD插件学习系列教程(十) 高程点注记压盖地物批量处理
  10. 什么样的耳机适合跑步佩戴、户外运动耳机推荐