感谢大佬:https://www.cnblogs.com/qiluboy/p/5308310.html

Android中back键和home键的区别:
back键
Android的程序无需刻意的去退出,当你一按下手机的back键的时候,系统会默认调用程序栈中最上层Activity的Destroy()方法来, 销毁当前Activity。当此Activity又被其它Activity启动起来的时候,会重新调用OnCreate()方法进行创建,当栈中所有 Activity都弹出结束后,应用也就随之结束了.如果说程序中存在service之类的,则可以在恰当的位置监听处理下也就可以了.

home键
Android程序的隐藏,当你按下手机的Home键的时候,系统会默认调用程序栈中最上层Activity的stop()方法,然后整个应用程序都会被 隐藏起来,当你再次点击手机桌面上应用程序图标时,系统会调用最上层Activity的OnResume()方法,此时不会重新打开程序,而是直接进入, 会直接显示程序栈中最上层的Activity。

back键默认把当前Activity给finish,home键只是把Activity给onStop.

实现按Home键时隐藏程序的效果:
1:Android 2.0之前需要监听按键事件,进行判断是不是按下了back键
2:Android 2.0之后系统提供了一个onBackPressed()方法,这个方法就是专门用来监听back键事件的,所以只需重写onBackPressed()方法即可

public void onBackPressed() {// super.onBackPressed();这句话一定要注销,不然又去调用默认的back处理方式了Intent intent=new Intent();intent.putExtra("data_return", "相信自己");setResult(RESULT_OK, intent);}

感谢大佬:https://blog.csdn.net/cl769796350/article/details/51595836

补充:Android如何只显示一次启动页

比如QQ,按返回键后再进入,就不会出现启动页,除非你把应用kill掉,或者后台清理掉。
方法很简单,只要重写onBackPressed()方法:

@Override
public void onBackPressed() {//super.onBackPressed();//句话一定要注销,不然又去调用默认的back处理方式了//隐式意图-跳转主界面Intent intent = new Intent(Intent.ACTION_MAIN);//如果是不同应用,则创建新栈,反之不创建intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);intent.addCategory(Intent.CATEGORY_HOME);startActivity(intent);
}

多人使用startActivity时候,会碰到如下的异常:
Caused by: Android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?
都知道,Context中有一个startActivity方法,Activity继承自Context,重载了startActivity方法。如果使用Activity的startActivity方法,不会有任何限制,而如果使用Context的startActivity方法的话,就需要开启一个新的task(编者按:参见一.2.的编者按),遇到上面那个异常的,都是因为使用了Context的startActivity方法。解决办法是:Java代码中加一个flag,即intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)。这样就可以在新的task里面启动这个Activity了。

Android返回键相关推荐

  1. Weex控制Android返回键解决方案

    正在深入倒腾weex,希望可以将weex用在项目中.这里找出了weex控制Android返回键的方法. 需求 项目使用的是Vue+VueRouter的单页应用来写Weex的,现有以下需求. 当页面不在 ...

  2. 如何添加Android返回键的退出功能

    环境:Cocos2dx v3.5 经网上搜索资料知道有两种方法可以实现Android返回键的退出功能,下面分别说明. 1.修改java代码 首先,在Cocos2dx的源文件中找到Cocos2dxGLS ...

  3. h5制作app,处理跳转翻页动画效果及android返回键路由跳转问题

    在h5制作的app中,设计路由跳转及跳转翻页动画是最必要的.其中有很多需要注意的问题,分享下小编的处理方式~ 一.翻页效果 首先,跳转翻页动画的监控,因为小编是用vue学的,所以在app.vue中监控 ...

  4. Flutter针对Android返回键回到桌面最靠谱的方法

    Flutter针对Android返回键回到桌面最靠谱的方法 初衷:看了网上五花八门的方法改什么MainActivity和增加一个Java类,这简直让没有接触过安卓的前端一头雾水,咱搞flutter就是 ...

  5. android返回键方法,Android按返回键(后退键)Back键事件捕获的两种方法

    package zhangphil.back; import android.support.v7.app.ActionBarActivity; import android.util.Log; im ...

  6. android 返回键退出程序了吗?

    我在一个Activity中启动一个Service. Service每一秒打印当前时间. 服务启动后,在Activity上按了一下返回键. 这时候回到Android桌面了.看不到Activity. 可是 ...

  7. Android 返回键的处理

    多网友不明确怎样在Android平台上捕获Back键的事件.Back键是手机上的后退键,一般的软件不捕获相关信息可能导致你的程序被切换到后台.而回到桌面的尴尬情况,在Android上有两种方法来获取该 ...

  8. Cocos2dx 响应Android返回键和Menu键

    1.在layer中调用: setKeypadEnabled(true);//设置相应按键消息 layer中重写以下两个方法: virtual void keyBackClicked(); //响应返回 ...

  9. android返回键webview返回,Android WebView 物理返回键遇到重定向处理

    问题出现的场景很常见,比如webview 先加载一个oauth url,成功后重定向到url_b.那个按物理返回键的时候webview会goBack 到过度的oauth url,马上又被重定向到url ...

最新文章

  1. LeetCode 36 Valid Sudoku(有效数独)(*)
  2. 《AutoCAD全套园林图纸绘制自学手册》一第1章 园林设计基本概念1.1 概述
  3. block作用域与流程控制(块block、if-else、while、do-while、for-foreach、switch-case、break、continue、label)
  4. 爱创课堂每日一题第二天8/24日 Quirks模式是什么?它和Standards模式有什么区别?...
  5. 天津盈克斯机器人科技_网红新科技,走进家居新时代|环渤海爱乐屋门窗amp;威卢克斯天窗双旦狂欢节送您一个温暖的家!...
  6. 【POJ 2503】Babelfish(水题)stl map存取即可
  7. java学习记录【day12】
  8. oppo5.0以上系统怎么样不Root激活Xposed框架的经验
  9. CNN卷积层里的多输入多输出通道channel 动手学深度学习v2 pytorch
  10. FLask框架AJAX操作
  11. atmega328p引脚图_【ATMEGA328P-PU PDF数据手册】_中文资料_引脚图及功能_(爱特美尔 ATMEL)-采芯网...
  12. 布线问题_分支限界法
  13. torch.bmm() 与 torch.matmul()
  14. 编程要了解的基础知识
  15. 使用virt-manager管理虚拟机
  16. 2、快速选择工具和魔棒工具
  17. 一键命令测试云主机的带宽
  18. 美团后台开发实习生面试经验
  19. Photoshop色彩模式完全手册
  20. MySQL记录删除后竟能按中间被删除的主键加回去,磁盘空间被重用!——底层揭秘MySQL行格式记录头信息

热门文章

  1. Nignx 网关 和 GateWay网关
  2. XTransfer外贸收款账户是如何收费的?
  3. LitJson输出格式化Json字符串
  4. PaddleNLP实战:应用NeZha模型做微博情感6分类
  5. 统计在线人数、每日访问人数和总人数
  6. Android小窗口模式,picture-in-picture(PIP画中画)的使用
  7. linux 挂载新硬盘
  8. docker搭建kong、konga步骤
  9. Linux 运维之路001
  10. ddr布线 pads_[转载]Pads Router布线技巧,等长,蛇线,差分