android:一个Open键引发的问题!!
1.问题简单介绍
首先描写叙述一下问题。当我们安装完APP的时候,界面会显示两个button,一个完毕键,一个Open键,点击Open键之后。进入应用。此时。我们点击HOME键。程序将会后台。然后再点击该桌面上应用程序的图标,巨大的BUG出现了:app会又一次启动!而不是将原来的界面onresume!假设你的应用对多次启动不敏感,这道没什么,可是,假设你的应用对多次启动非常敏感。你就必须做处理了。
2.解决方式
首先分析问题成因,在android眼下的系统下(最新的为4.4.3),点击Open键和点击图标启动时,Intent的參数传递的不一样。activity的启动方式不同,导致上述问题的产生。可是,因为启动參数由系统设定,我们不好改变。那我们的思路就有两个:
1.第二次启动的时候。把第一次启动的杀掉
2.第二次启动的时候。将第一次启动的Activity唤醒,第二次启动关闭。
一般我们选择另外一种,因此。我们就有了例如以下思路:
1.在启动第一个Activity的时候,推断启动方式是不是从点击OPEN键启动的.
2.在须要唤醒的activity中注冊BroadcastReceiver,接收到广播之后。调用自己的onResume方法。
第一个Activity的onCreate方法中加入的代码例如以下:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if ((getIntent().getFlags() & Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT) != 0) {
// 在这里发送广播。唤醒之前启动的Activity
finish();
return;
} // Regular activity creation code...
}
问题得到完美解决。
android:一个Open键引发的问题!!的更多相关文章
- RN—Android 物理返回键监听
A → B 使用 navigator 导航,用 goBack() 返回的时候传递参数 在 A 页面 this.props.navigation.navigate("B", { ca ...
- Android 屏蔽Power键 Home键
Android 屏蔽Power键 Home键 标签: androidpower键Home键PhoneWindowManagerframework 2014-04-18 17:22 1557人阅读 评论 ...
- Android MVP Presenter 中引发的空指针异常
一.概述 最近对 googlesamples/android-architecture 中的 MVP-dagger 进行了学习.对照项目的 MVP-dagger 分支,对 MVP-dagger 进行了 ...
- ASP.NET MVC WebApi 返回数据类型序列化控制(json,xml) 用javascript在客户端删除某一个cookie键值对 input点击链接另一个页面,各种操作。 C# 往线程里传参数的方法总结 TCP/IP 协议 用C#+Selenium+ChromeDriver 生成我的咕咚跑步路线地图 (转)值得学习百度开源70+项目
ASP.NET MVC WebApi 返回数据类型序列化控制(json,xml) 我们都知道在使用WebApi的时候Controller会自动将Action的返回值自动进行各种序列化处理(序列化为 ...
- React Native 适配Android物理返回键,实现连续两次点击退出
一直使用iPhone作为测试机开发,提交给测试同事Android版本后发现很多适配问题,其中一个非常明显的是,弹出一个modal后,点击Android的返回键,modal不会消失,直接navigati ...
- MySQL为什么需要一个主键
主键 表中每一行都应该有可以唯一标识自己的一列(或一组列). 一个顾客可以使用顾客编号列,而订单可以使用订单ID,雇员可以使用雇员ID 或 雇员社会保险号. 主键(primary key) 一列(或一 ...
- 试图删除 xx 和yy之间的关系。但是,关系的其中一个外键 (xx_yy.xxID) 无法设置为 null。
错误原因:试图删除 UserInfoGroup 和 UserInfoGroupLinkLimitsOfAuthority 之间的关系.但是,关系的其中一个外键 (UserInfoGroupLinkLi ...
- Android Activity返回键控制的两种方式
Android Activity返回键监听的两种方式 1.覆写Activity的OnBackPressed方法 官方解释: Called when the activity has detected ...
- Android一个ListView列表之中插入两种不同的数据
http://www.cnblogs.com/roucheng/ Android一个ListView列表之中插入两种不同的数据 代码如下: public class ViewHolder{ Butto ...
随机推荐
- xml Data Type Methods in sql server
nodes() Method (xml Data Type) https://docs.microsoft.com/en-us/sql/t-sql/xml/nodes-method-xml-data- ...
- POJ 1636 DFS+DP
思路: 先搜索出来如果选这个点 其它哪些点必须选 跑个背包就好了 //By SiriusRen #include <cstdio> #include <cstring> #in ...
- Docker -- 2 -- 利用docker部署网站和数据库
在Docker – 系统整洁之道 – 1中已经对Docker的一些命令和Docker镜像的使用及操作做了记录. 这次就利用docker进行一次真正的实例使用,使用docker搭建一个简单的答题系统,这 ...
- XDoclet学习
XDoclet可以通过你在java源代码中的一些特殊的注释信息,自动为你生成配置文件.源代码等等,例如web.ejb的部署描述文件.为你生成struts的struts-config.xml配置文件.j ...
- Windows Server8下补丁分发配置与iSCSI配置
1.Win Server 8 下配置补丁分发(高清视频下载:http://down.51cto.com/data/424305)本视频适合于Windows Server系统管理员学习 650) thi ...
- C# 从磁盘中读取文件
读取txt文件 ------读取的数据比较小的时候: 如果你要读取的文件内容不是很多,可以使用 File.ReadAllText(filePath) 或指定编码方式 File.ReadAllText( ...
- c#记录日志的方法
/// <summary> /// 生成日志 /// </summary> /// <param name="text"></param& ...
- 变量对象、作用域链和This
变量对象 作用域链 This 整理自:https://www.cnblogs.com/TomXu/archive/2011/12/15/2288411.html 系列文章中变量对象,作用域链和this ...
- 实现人脸识别性别之路---网页上的video标签
<video> 元素支持三种视频格式: MP4, WebM, 和 Ogg.但是,不同的浏览器对视频格式的支持也不一致,因此为了让浏览器都适应,我们使用source属性来对视频文件格式定义 ...
- cogs 32. [POI1999] 位图
32. [POI1999] 位图 ★ 输入文件:bit.in 输出文件:bit.out 简单对比时间限制:1 s 内存限制:128 MB [问题描述 ] 给定一个 n*m 的矩形位图, ...