Android应用第一次安装成功点击“打开”后Home键切出应用后再点击桌面图标返回导致应用重启问题

最近项目中遇到一个问题,用户第一次安装应用在系统的安装器安装完成界面有“完成”和“打开”两个按钮。

当用户点击“打开”按钮进入用户注册页面进行手机号验证码发送和验证码输入等操作界面,若此时用户点击Home键切出应用到桌面,再从桌面点击应用程序图标试图切回应用完成验证码输入等操作时,应用重新走了欢迎页等步骤,此时之前从系统的安装完成界面点击打开启动的应用其实还在后面运行。

然而当用户“完全退出”应用,或者在安装完成界面直接点击“完成”按钮再从桌面启动,或者此应用之前是存在的“覆盖安装”后点击“打开”按钮都是不会导致应用程序“多次启动”的。

经过查找也试过很多种方法,设置activity的launchMode等都不能解决此问题,废话不多说,上解决办法。

其实原因很简单,利用程序安装器打开程序,启动的Intent是没有带Category,而我们自己打开程序是带了Category,所以只需要在配置Intent.ACTION_MAIN的Activity判断下有无Category。然后放到通知栏的时候要更具有无Category 来生成启动的Intent。

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

在应用程序设置<action android:name="android.intent.action.MAIN" />应用程序入口Activity的onCreate方法中加入上面的判断,完美解决应用程序多次重启问题。

特别鸣谢:

http://bbs.csdn.net/topics/390201703

http://www.2cto.com/kf/201407/319948.html

时间: 2024-10-07 10:32:33

Android应用第一次安装成功点击“打开”后Home键切出应用后再点击桌面图标返回导致应用重启问题的相关文章

页面table的每行都有一个&lt;input type=&#39;button&#39; /&gt;,如何实现点击按钮在按钮下方弹出一个div,点击空白消失

\ <input id="test" type="button" />/*按钮*/ <div id="tanchu"></div> <script language="javascript"> $(document).ready(function(e) { $("#test").click(function(e) { $("#tanchu"

mysql 安装成功以及第一次安装成功初始化密码操作

一 把文件解压到一个目录下 这是解压后的目录 将my.ini文件考进去 双击打开my.ini 找到这两行更改成自己的解压路径保存 右键此电脑属性 找到高级系统设置配置环境变量 环境变量   新建 变量值是解压文件的路径 Path 单击path编辑 新建 之后 用管理员身份打开cmd进入文件路径 打开命令行窗口,在里面输入:mysqld --install 这个命令是安装服务, 执行完后, 提示英文的成功, 这时候你可以在你的 windows 服务中看到  MySQL 的服务,移除服务命令为:my

长按power键弹出关机菜单,点击关机会弹出提示框,点击重启没有提示框确认直接进入重启状态,添加确认提示框

--- a/idh.code/frameworks/base/core/res/res/values-es/strings.xml +++ b/idh.code/frameworks/base/core/res/res/values-es/strings.xml @@ -1710,5 +1710,5 @@ <string name="station_state_connected">"Stación %1$s esta conectada"</st

点击li往数组添加对应li的id再点击移除,根据是否有class判断

if($(this).hasClass('click')){ $(this).removeClass('click'); var idAPP = $(this).attr('id'), index = $.inArray(idAPP, arr_APP); if(~index){ arr_APP.splice(index, 1); } }else{ $(this).addClass('click') var idAPP = $(this).attr('id'); arr_APP.push(idAP

Android模拟器Genymotion安装使用教程详解

一.注册\登录 打开Genymotion官网,https://www.genymotion.com/ ,首先点击右上角的Sign in进行登录操作.如何登录就不细讲了,下面讲一下如何注册(备注:注册按钮在登录界面中). 注册 如果没有账号,则需要先注册.在登录界面,点击Create an account按钮打开注册界面. 注册界面如下:(使用谷歌浏览器翻译后的界面) 按照上面的提示输入相关内容,需要注意的是输入邮箱和密码后,系统会发送一封邮件到你邮箱,请一定要去验证.注意:一定要进行验证!!!

[android开发篇][android studio 和elipse都需要的流程 android sdk的安装

第三步.下载并安装AndroidSDK 前面两步,我们已经配置了JDK变量环境,并安装好了Eclipse,通过这两步之后Java的开发环境就准备好了,如果我们只是开发普通的JAVA应用程序的话,那么到这里就可以了.但如果我们要通过Eclipse来开发Android应用程序的话,那么我们还需要下载Android SDK(Software Development Kit)和在Eclipse上安装ADT插件. 首先,下载Android SDK Tools,翻过墙的朋友可以去Google Android

Android SDK下载安装及配置教程

最近Neo突发神经,想要将学过的一些计算机视觉.机器学习中的算法都放到移动设备上去跑跑,因为移动开发是大势所趋嘛,希望能够通过这样一个实践的过程,找到一些新的灵感(该不会是为了赚钱吧-),我自己目前也有一些idea,然后也希望以后能够进行计算机视觉.机器学习方面的创业,如果有志同道合的朋友可以一起交流交流(可通过邮箱:[email protected]). 既然要做计算机视觉的移动开发,那么就要考虑是做ios还是Android了..当然还有winphone的.一直想做ios的开发,无奈啊,手头有

[android开发篇]安装android sdk的时候请注意

第二就是: 如果要国内镜像的话: 3.大连东软信息学院镜像服务器地址: http://mirrors.neusoft.edu.cn  端口:80 随便选择一个就行啦.这里我选择的是第三个站点,即大连东软的镜像,使用方法如下: 首先,点击菜单中的"Tools",然后选择下拉中的"Options-", 然后在弹出的对话框中,填写HTTP Proxy Server为mirrors.neusoft.edu.cn(镜像服务器的地址,注意前面不要加http),然后填写HTTP

2016 windows安装phing:安装成功

21:39 2016/7/212016 windows安装phing:安装成功注意:出现错误时就去更新pear:参见:http://www.cnblogs.com/pinnasky/archive/2011/12/20/2295121.html国外解释:To fix it I had to upgrade PEAR itself:....... And then phing installed perfect:参见国外解释:http://gruz.org.ua/en/tech-blog/linu