一些体验上的优化

    • 一: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);}@Overridepublic 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;        }        /*.....*/ }

更多相关文章

  1. Android(安卓)Boot: After kernel stage
  2. android 修改ramdisk.img和init.rc && android启动后设置/d
  3. Android的系统启动流程和应用启动流程
  4. Android(安卓)App性能优化(1)——App启动优化
  5. H5唤起android app,启动关联应用
  6. 微信支付宝支付调用SDK
  7. Flutter Android端启动白屏问题的解决
  8. Android有那些好的进阶书籍呢
  9. Android(安卓)Studio打不开,无法启动,无反应的解决方案

随机推荐

  1. android的binder机制研究
  2. Android中的数据持久化技术
  3. Android之个性化ListView实现
  4. Android Studio的TextView实现滚动显示文
  5. Android打包成jar文件方法总结
  6. Android深入浅出之 Surface
  7. Android(安卓)Activity状态切换
  8. S5PV210 Android(安卓)CAMERA设置照片大
  9. Android动态加载jar、apk的实现
  10. Android之——获取进程总数、内存、任务