Android 再次打开APP进入按Home键退出时的界面(thisTaskRoot)

移动开发 作者: 2024-08-25 04:20:01
问题 Android 设置页面的启动模式为 singletask 之后,当按Home 退出时,再重新打开应用,还会进入首启动页。就会造成一些应用需要重新登录,当前页数据丢失等问题 解决 去除启动页的
  • 去除启动页的 singletask 的启动模式(AndroidManifest.xml)

  • 在启动页activity添加如下代码

 1         // 避免从桌面启动程序后,会重新实例化入口类的activity
 2         if (!this.isTaskRoot()) {  判断当前activity是不是所在任务栈的根
 3             Intent intent = getIntent();
 4             if (intent != null) {
 5                 String action = intent.getAction();
 6                 if (intent.hasCategory(Intent.CATEGORY_LAUNCHER) && Intent.ACTION_MAIN.equals(action)) {
 7                     finish();
 8                     return;
 9                 }
10             }
11         }
  • 第一步(看代码进行了什么处理)

            <intent-filter>
                action android:name="android.intent.action.MAIN" />

                category ="android.intent.category.LAUNCHER" />
            </>
  • 第二步(看看别人怎么说)

原创声明
本站部分文章基于互联网的整理,我们会把真正“有用/优质”的文章整理提供给各位开发者。本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
本文链接:http://www.jiecseo.com/news/show_68197.html