一些体验上的优化

  • 一:app 退出时,让 app 在后台运行,类似于 home 键的功能,最小化
  • 二:Android 点击 Home 键后再点击 APP 图标,APP 显示退出之前的界面

一:app 退出时,让 app 在后台运行,类似于 home 键的功能,最小化

重写 onkeydown 和 onBackPressed 方法,主要是 movetoBack 方法。
注意在 MainActivity (主界面)中设置,而不是 SplashActivity(启动页)。
在 activity 中调用 moveTaskToBack (boolean nonRoot) 方法即可将 activity 退到后台,注意不是 finish() 退出。

参数为 false 代表只有当前 activity 是 task 根,指应用启动的第一个 activity 时,才有效; 如果为 true 则忽略这个限制,任何 activity 都可以有效。
代码片:

public boolean onKeyDown(int keyCode, KeyEvent event) {if (keyCode == KeyEvent.KEYCODE_BACK) {moveTaskToBack(false);return true;}return super.onKeyDown(keyCode, event);
}@Override
public void onBackPressed() {moveTaskToBack(false);super.onBackPressed();}

二:Android 点击 Home 键后再点击 APP 图标,APP 显示退出之前的界面

具体可查看Android 应用 Home 键后 Launcher 重复启动问题

解决方法:
在SplashActivity(启动页)中通过 isTaskRoot(Return whether this activity is the root of a task. The root is the first activity in a task.)方法来进行判断:

代码片:

@Override
protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState); if (!isTaskRoot()) { finish();  return; } /*.....*/
}

解决:Android App 在运行时候按下 home 键,让App 在后台运行,点击图标再次进入时防止应用重新启动相关推荐

  1. Android App在运行时候按下home键 再次进入时应用重新启动的解决方法

    如题,这个问题的解决方法跟应用启动后  从应用市场点击打开后会重新启动(相反操作一样的)的方法是一样的,,,下面附上解决方法 在项目的启动第一个FirstActivity的OnCreate()的set ...

  2. 高德地图:解决android系统在锁屏条件下无法持续定位

    目录 一.简介 二.实现步骤 2.1创建AIDL文件 2.2回调接口 2.3定位服务实现 一.简介 之前公司在app中以android5.0为适用版本添加了轨迹功能用于记录用户健走路线.由于现在用户手 ...

  3. Android 面试黑洞——当我按下 Home 键再切回来,2021必看-Android高级面试题总结

    * FLAG\_ACTIVITY\_REORDER\_TO\_FRONT * FLAG\_ACTIVITY\_PREVIOUS\_IS\_TOP * FLAG\_ACTIVITY\_EXCLUDE\_ ...

  4. Android按返回键程序仍在后台运行,并未完全退出和销毁,类似微信QQ等退出方式的实现-- moveTaskToBack

    最近做的Android项目提了一个小的需求: 按了返回键之后,要像微信和QQ那样,程序仍在后台运行,并未完全退出和销毁,下次进来仍然在之前那个页面. 网上找到了解决方案,也很简单:其实就是重写按返回键 ...

  5. Natapp(Ngrok) Windows下注册为服务,开机启动后台运行

    在windows下使用nssm 将natapp注册为服务.使其开机自启动&后台运行. 首先下载 nssm 下载后,解压. 根据平台选择nssm.exe 此程序可放在任意位置,便于管理,建议将此 ...

  6. linux下安装idle和运行(linux下有两个python版本如何运行其中一个)

    linux系统会自带python,因为笔者有两个python版本,python2.7和python3.5,2的有idle,3的没有 安装如下: sudo apt-get install idle-py ...

  7. linux程序已经在后台运行冻结了_如何使程序在Linux后台运行

    经常在Linux上面运行程序都有这样的体验: 某个程序运行的时候,会产生大量的log(提示)信息,但实际上我们只想让它跑一下而已,log暂时不需要或者后面才有需要. 同时run多个相同或者不同程序的时 ...

  8. java jar在后台运行_【Java】部署jar包并后台运行

    Linux环境部署: 1.执行jar包的命令和在windows操作系统上是一样 java -jar jarName-0.0.1-SNAPSHOT.jar; 注: 关闭服务器连接时会关闭此程序进程,(推 ...

  9. 按home键后,程序后台运行,再次打开应用时,不再走启动页面,直接进入应用

    if((getIntent().getFlags() & Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT) != 0){finish();return;} 这个问题 ...

最新文章

  1. Object.create()和Object.assign()
  2. android应用开发全程实录出版
  3. 程序员法律考试(7)-民法(4)
  4. [Java基础]方法引用
  5. 怎么利用计算机计算潮流计算,电力系统潮流计算的目的是什么
  6. Linux C++ 简单爬虫
  7. 数据库设计中的14个关键技巧
  8. 我的常用软件大公开!
  9. 测试或运维工作过程中最常用的几个linux命令?
  10. 一个scrapy框架的爬虫(爬取京东图书)
  11. AjaxControlToolkit的TabContainer控件下用html上传控件显示有问题
  12. 【新手必看】C语言开发环境,请查收!
  13. 软通动力华为项目组Java开发面试总结
  14. 谷歌地图 地点搜索(模糊搜索)
  15. ZooKeeper作为注册中心
  16. 肥鲨HDO和HD3买哪个?
  17. Teardrop代码编程,创建虚假包
  18. Java Web 网络商城案例演示一、(环境搭建)
  19. **06-图3 六度空间 (30 分)**
  20. web前段网图分类规划

热门文章

  1. 【C++基础编程(二)】类和对象(重点)、文件操作
  2. Kotlin 之 协程
  3. 什么是 Thunderbolt 4?
  4. win10批量替换文件里的字符
  5. DLL动态链接库的导入导出
  6. 实战——CentOS 8 防火墙设置
  7. TED演讲:给你一个机器替身,会发生哪些有意思的事?
  8. 全国计算机等级考试科目中加入“二级Python”
  9. WinXP与WinCE串口的运行机制之比较
  10. 网赚项目是否存在通吃的招术?