android返回键返回指定目录,Android 返回键返回到指定的Activity
按后退键的时候,让程序退出。
实现起来的思路:
1.捕获后退键被按了这个事件。
Java代码
@Override
publicbooleanonKeyDown(intkeyCode, KeyEvent event) {
if(keyCode == KeyEvent.KEYCODE_BACK ){
//DO SOMETHING
returntrue;
}
returnfalse;
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode == KeyEvent.KEYCODE_BACK ){
//DO SOMETHING
return true;
}
return false;
}
2-1.通过intent返回都主屏幕中
Java代码
@Override
publicbooleanonKeyDown(intkeyCode, KeyEvent event) {
if(keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() ==0) {// 按下的如果是BACK,同时没有重复
Intent home =newIntent(Intent.ACTION_MAIN);
home.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
home.addCategory(Intent.CATEGORY_HOME);
startActivity(home);
}
returnsuper.onKeyDown(keyCode, event);
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) { // 按下的如果是BACK,同时没有重复
Intent home = new Intent(Intent.ACTION_MAIN);
home.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
home.addCategory(Intent.CATEGORY_HOME);
startActivity(home);
}
return super.onKeyDown(keyCode, event);
}
2-2.记录所有打开的activity,关闭的时候将所有的activity关闭
使用单例模式创建一个Activity管理对象,该对象中有一个Activity容器专门负责存储新开启的每一个Activity
MyApplication类(储存每一个Activity,并实现关闭所有Activity的操作
Java代码
publicclassMyApplicationextendsApplication {
privateList activityList =newLinkedList();
privatestaticMyApplication instance;
privateMyApplication()
{
}
//单例模式中获取唯一的MyApplication实例
publicstaticMyApplication getInstance()
{
if(null== instance)
{
instance =newMyApplication();
}
returninstance;
}
//添加Activity到容器中
publicvoidaddActivity(Activity activity)
{
activityList.add(activity);
}
//遍历所有Activity并finish
publicvoidexit()
{
for(Activity activity:activityList)
{
activity.finish();
}
System.exit(0);
}
}
public class MyApplication extends Application {
private List activityList = new LinkedList();
private static MyApplication instance;
private MyApplication()
{
}
//单例模式中获取唯一的MyApplication实例
public static MyApplication getInstance()
{
if(null == instance)
{
instance = new MyApplication();
}
return instance;
}
//添加Activity到容器中
public void addActivity(Activity activity)
{
activityList.add(activity);
}
//遍历所有Activity并finish
public void exit()
{
for(Activity activity:activityList)
{
activity.finish();
}
System.exit(0);
}
}
在每一个Activity中的onCreate方法里添加该Activity到MyApplication对象实例容器中
Java代码
MyApplication.getInstance().addActivity(this);
MyApplication.getInstance().addActivity(this);
在需要结束所有Activity的时候调用exit方法
Java代码
MyApplication.getInstance().exit();
android返回键返回指定目录,Android 返回键返回到指定的Activity相关推荐
- 【Android 逆向】应用安装目录 ( Android 应用的默认安装目录 | 查找 Android 应用的安装目录 | 查询当前正在运行的应用包名 | 根据包名查询应用安装路径 )
文章目录 一.Android 应用的默认安装目录 二.查找 Android 应用的安装目录 1.查询当前正在运行的应用包名 2.根据包名查询应用安装路径 一.Android 应用的默认安装目录 应用安 ...
- android 无法显示SD卡目录,Android studio无法在SD卡上创建新目录?
我使用名为scanlibrary的库来扫描照片,然后将它传递给tess-two来执行OCR过程.问题是,在目录"ScanDemoExample"不被创建因此tessdata文件不会 ...
- php遍历指定目录下的文件,PHP遍历指定目录下所有文件和目录
PHP目录遍历程序代码,将显示指定目录下的所有文件和文件夹,并列出这些文件,最后统计出文件总数.使用的PHP函数有is_dir.closedir.scan_dir等. 本代码比较准确,可判断目录下的是 ...
- android选择指定目录,android之app新建目录位置选择
安卓应用想新建目录存放文件,有以下几种选择: 1./data 在/data根目录下建目录需要system权限. app可在/data/data/apppackage下建目录默认权限是700,且普通权限 ...
- android读取另一个app目录,android在一个app程序中,打开另一个app的方法
首先获取包名: 使用aapt //aapt是sdk自带的一个工具,在sdk\builds-tools\目录下 1.以微信为例,命令行中切换到aapt.exe目录执行:aapt dump badg ...
- 复制指定目录包括子目录下的所有指定类型的文件
将下列代码复制到txt文本中.保存成后缀名为.bat的文件.然后运行即可. 方案:复制指定文件夹下及其所有子文件夹内 后缀名相同的文件.bat 代码: xcopy /e d:\a\*.txt e:\2 ...
- linux shell脚本 删除指定目录下文件夹(可指定文件夹名、时间)
情景:需要删除以201812开头的.6天前修改的文件夹(文件夹里包含文件).鼓捣了好一会,开始用find /home/users/niu/test/log/ -name '201812*' -type ...
- (压缩包在本地目录或由链接请求)使用jszip解压文件或compressing解压文件到指定目录,写个node脚本
使用jszip解压文件与compressing解压zip文件到指定目录 一.介绍jszip和compressing模块 jszip和compressing模块都是可以压缩和解压缩zip文件,都可以通过 ...
- 如何用Windows命令提示符(cmd.exe)进入指定目录
如何用Windows命令提示符(cmd.exe)进入指定目录 一.Windows命令提示符是什么? Windows 命令提示符(cmd.exe)是 Windows NT 及以后的 Windows 系统 ...
最新文章
- 自动驾驶公司Momenta完成超2亿美元融资,估值超10亿美元
- 学习 Spring (十七) Spring 对 AspectJ 的支持 (完结)
- 【数学建模】图论模型-Floyd算法(最优化)
- 关于混合使用智能指针和内置指针的自己的问题和自己的见解(问题搜集中)这个帖子有待解决的问题
- 关于new handler与default、delete关键字
- 容器操作系统虚拟化_为什么操作系统在容器化世界中很重要
- 推荐系统技术演进趋势:排序篇
- java spark yarn_《Spark官方文档》在YARN上运行Spark
- mysql字符串处理函数left()、length()使用
- linux常用命令(3)——系统管理1
- GridView 72般绝技(一)
- Hive-3.1.3安装配置运行
- 经典的哲学家就餐问题
- 计算机公式sin,三角函数换算(新版中文三角函数计算器)
- Linux 编程 —— 进程间的通信 之 消息队列(zmq socket 学习笔记)
- 顺序表倒置java_数据结构-顺序表 java实现-Go语言中文社区
- 【无标题】vue 简单增删改查表格
- 谷歌注册手机无法验证解决办法2023亲测有效非常迅速
- 计算机CAD技术在工程设计中的应用,研究在机械工程设计中CAD技术的运用
- 【面试题】Redis篇-常见面试题p1
热门文章
- Internet信息服务找不到
- linux常用命令(ubuntu)
- SAP NetWeaver 平台介绍
- Python之数据分析(Numpy的子模块:线性代数模块linalg、傅里叶变换模块fft)
- 初学者python笔记(类的装饰器、property方法、元类)
- 测试软件是否丢失数据,11种方法检测软件的可靠性
- 电脑音响怎么插_BMW宝马5系G38改原厂全套哈曼卡顿音响+无钥匙进入,厚街宝马原厂改装中心...
- 矩阵分析 第三章 内积空间 正规矩阵 Hermite矩阵
- 高通的快充协议_高通QC5.0快充发布:百瓦级时代,高通被国产厂商牵着鼻子走了?...
- java reactor例子_ProjectReactor响应式编程入门例子