Android Native APP开发笔记:双击返回键退出应用单击返回键返回桌面
文章目录
- 目的
- 基础说明
- 双击返回键退出应用
- 单击返回键回到桌面
- 总结
目的
双击返回键退出应用 很早之前就是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开发笔记:双击返回键退出应用单击返回键返回桌面相关推荐
- Android Native APP开发笔记:使用WebView控件加载网页
文章目录 目的 基础使用 处理网页导航 加载本地网页 Web和Native之间交互 调试Web应用 处理页面重绘 总结 目的 WebView是一个比较常用的控件,功能上也比较单一,就是用来加载网页的, ...
- Android Native APP开发笔记:从新建到打包流程记录
文章目录 目的 下载与安装 新建项目与运行调试 更换名称和图标 打包应用 applicationId 版本控制 真机调试 总结 题外话 目的 安卓是现在移动端平台占有率最大的平台,如果进行移动端用户应 ...
- Android Native APP开发笔记:文件存储与访问
文章目录 目的 基础说明 应用专属存储空间 共享存储 其它 总结 目的 APP开发与使用过程中免不了和文件打交道,对于Windows或Linux而言文件的存储与访问操作都很方便,直接通过文件系统路径和 ...
- Android移动APP开发笔记——最新版Cordova 5.3.1(PhoneGap)搭建开发环境
引言 简单介绍一下Cordova的来历,Cordova的前身叫PhoneGap,自被Adobe收购后交由Apache管理,并将其核心功能开源改名为Cordova.它能让你使用HTML5轻松调用本地AP ...
- Android移动APP开发笔记——Cordova(PhoneGap)通过CordovaPlugin插件调用 Activity 实例...
引言 Cordova(PhoneGap)採用的是HTML5+JavaScript混合模式来开发移动手机APP.因此当页面须要获取手机内部某些信息时(比如:联系人信息,坐标定位.短信等),程序就须要调用 ...
- Android Studio App开发之通知渠道NotificationChannel及给华为、小米手机桌面应用添加消息数量角标实战(包括消息重要级别的设置 附源码)
需要全部源码或运行有问题请点赞关注收藏后评论区留言~~~ 一.通知渠道NtoificationChannel 为了分清消息通知的轻重缓急,Android8.0新增了通知渠道,并且必须指定通知渠道才能正 ...
- 【Android】Parse开发笔记(1)—— 准备
一.简介 Parse是由 YC 孵化出来的.专为移动应用提供后台服务的云计算平台,为开发者包办繁琐的后台服务,让开发者只需专注于具体的开发工作.它提供任意数据保存.照片或其它文件存储.发送推送通知.创 ...
- 英语学习app开发笔记
英语学习app开发笔记 按钮界面跳转功能 数据库实现存储功能 从raw中读取文件 将文件内容存入数据库 适配器Adapter 未搜索时将部分项目显示在界面上 搜索栏使用 搜索并将结果显示在listvi ...
- Android音乐App开发准备( 简易音乐 二 )
Android音乐App开发准备( 简易音乐 二 ) 关于 效果: 编写Activity基类-BaseActivity 修改启动页 复用的标题栏 关于 第一篇看Android音乐App开发准备( ...
最新文章
- Java飞行记录器 JRockit Flight Recorder JFR诊断JVM的历史性能和操作
- 使用CURL构建爬虫,抓取百度百科内容
- 实验测试2SK241的g-s击穿电压
- python turtle画熊-Python turtle画图库画姓名实例
- 【WPF】拖拽ListBox中的Item
- 医疗在线服务InQuicker,融资0元年盈利400万美元!拒绝风投与炒作
- 经典面试题(5):小心javascript自动插入分号机制
- 质数的和与积(信息学奥赛一本通-T1405)
- jdbc工具类 配置版本 20210412_222527.mp4
- linux-新建一个centos虚拟机系统-安装全过程图示
- 微信小程序 不能跳转页面 跳转不生效
- 动态规划_01背包问题_Java实现
- 死锁、EAT、页表、单双缓冲区典型题目及解析
- Mybatis Plus语法+示例
- Linux下MySQL表名区分大小写
- 统计学习方法读书笔记13-改进的迭代尺度法(优化算法)
- python如何把控制台输出保存到文件中_如何用10行代码完成目标检测
- Intellij IDEA 修改默认配置
- 番茄助手-解决vs2010没有智能提示问题
- 笔记———No.1 使用matlab画圆