找不到病根真是让人愁白了头;

今天写了一个startActivityForResult,开启一个Activity并拿到返回的结果,但是startActivityForResult刚走,onActivityResult就立即响应了,这我要这个onActivityResult有何用;

来看开启代码:

                        Intent intaentPermission = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION);
intaentPermission.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intaentPermission.setData(Uri.parse( "package:"+getPackageName()));
startActivityForResult(intaentPermission,windowHintStartPermission);

这个是回调代码:

   @Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == windowHintStartPermission){
if (Build.VERSION.SDK_INT >= 23) {
if (!Settings.canDrawOverlays(getActivity())) {
UIHelper.showToast("您未开启悬浮窗权限,遥控正在后台执行");
}else {
Intent intent = new Intent(getActivity(), TelecontrolQueryService.class);
intent.putExtra("id", "");
getActivity().startService(intent);
} }else {
Intent intent = new Intent(getActivity(), TelecontrolQueryService.class);
intent.putExtra("id","");
getActivity().startService(intent);
}
}
}

我真是日了狗了,开启代码刚执行结束,回调代码就走了;

来、划重点了:

经排查,发现这个提前回调跟Activity的启动模式有关(launchMode),举个栗子:Activity1使用startActivityForResult开启Activity2,Activity2的launchMode如果不是标准模式,就会出现提前回调的问题,onActivityResult立即执行;

我的解决方法:

                        Intent intaentPermission = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION);
// intaentPermission.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); //把启动模式注释掉
intaentPermission.setData(Uri.parse( "package:"+getPackageName()));
startActivityForResult(intaentPermission,windowHintStartPermission);

还有就是,不要getActivity().startActivityForResult();在Fragment中开启Activity前面不要加getActivity(). ;不然你的onActivityResult方法会不执行;

Fragment onActivityResult提前响应,startActivityForResult执行后立即响应onActivityResult的解决方法的更多相关文章

  1. 【jquery】ajax 请求成功后新开窗口被拦截解决方法

    问题: 前面开发项目时碰到一个问题,ajax 异步请求成功后需要新开窗口打开 url,使用的是 window.open() 方法,但是很可惜被浏览器给拦截了,怎么解决这个问题呢? 分析: 浏览器之所以 ...

  2. spring定时任务执行两次的原因与解决方法

    spring定时任务,本地执行一次,放到服务器上后,每次执行时会执行两次,原因及解决办法. http://blog.csdn.net/yaobengen/article/details/7031266 ...

  3. 网站启动SSL, http变为https后,session验证码错误解决方法

    网站启动SSL, http变为https后,session验证码错误解决方法   最近公司需要后台启动安全证书,证书安装完毕后,后台老提示 验证码错误,经过几天的研究,此问题已经得到有效解决,现把方法 ...

  4. 安装Wamp后 Apache无法启动的解决方法

    安装Wamp后 Apache无法启动的解决方法,网上的解决方案可以说是五花八门,有些说了一大推,一点作用都起不到. 其实解决方法只需两步: 1.安装路径不能包含有中文,这个我不知道为什么,总之如果安装 ...

  5. 安装Wamp后 Apache无法启动的解决方法

    安装Wamp后 Apache无法启动的解决方法,网上的解决方案可以说是五花八门,有些说了一大推,一点作用都起不到. 其实解决方法只需两步: 1.安装路径不能包含有中文,这个我不知道为什么,总之如果安装 ...

  6. 宝塔控制面板创建ftp后链接不上的解决方法

    很多的新手在安装宝塔面板并且创建完ftp管理后链接ftp居然链接不上?有许多朋友都不知道本站q302博客也是基于宝塔控制面板管理的,本站在安装网站完成后也和你们一样ftp链接不上,后面经过多次测试之后 ...

  7. 关于protel 99se 汉化后某些菜单消失的解决方法

    本人在使用protel 99se 画PCB时,遇到了好些问题,通过网上查资料基本都解决了. 下面给大家分享 关于protel 99se 汉化后某些菜单消失的解决方法. 其他的许多看不见的菜单也可以自己 ...

  8. 【Navicat】使用navicat执行sql 查询速度很慢解决方法

    ========================== Navicat 远程连接Mysql执行普通sql速度慢问题: 场景: navicat可以连接上 远程服务器的mysql.但是在navicat执行最 ...

  9. 【Qt开发】QScrollArea添加布局后没有出现滚动条的解决方法

    [Qt开发]QScrollArea添加布局后没有出现滚动条的解决方法 标签:[Qt开发] 说明:尝试利用滚动区域显示多张图片,为了能够动态地往滚动区域贴图,为滚动区域设置了布局,然后通过布局来添加wi ...

随机推荐

  1. JavaScript模板引擎Template.js使用详解

    这篇文章主要为大家详细介绍了JavaScript模板引擎Template.js使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下   template.js 一款 JavaScript 模板引 ...

  2. java BufferedReader 与 BufferedWriter

    BufferedReader 与 BufferedWriter 字符缓冲输入/输出流,是处理流.意味着使用这两个流需要包装节点流. 如节点流FileReader fr = new FileReader ...

  3. git 克隆指定分支

    git clone -b v2.8.1 https://git.oschina.net/oschina/android-app.git

  4. responsiveslides 插件(图片轮播插件)

    参数详解: $(".rslides").responsiveSlides({ auto: true, // Boolean: 设置是否自动播放, true or false spe ...

  5. WPF Demo12 布局

    1 <Window x:Class="布局.DockPanel1" xmlns="http://schemas.microsoft.com/winfx/2006/x ...

  6. ThinkPHP 3.1.2 输出和模型使用 配置项等 - 2

    一.ThinkPHP 3 的输出      (重点) a.通过 echo 等PHP原生的输出方式在页面中输出 b.通过display方法输出 想分配变量可以使用assign方法 c.修改左右定界符 休 ...

  7. [Android] Surface、SurfaceHolder与SurfaceView

    其实相当于MVC结构的三者关系:M(Surface).V(SurfaceView).C(SurfaceHolder) 1.Surface Handle onto a raw buffer that i ...

  8. x230安装黑苹果

    https://forum.51nb.com/forum.php?mod=viewthread&tid=1802786&extra=page%3D1&page=1 下载 主要就 ...

  9. ALGO-31_蓝桥杯_算法训练_开心的金明(DP)

    问题描述 金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间他自己专用的很宽敞的房间.更让他高兴的是,妈妈昨天对他说:“你的房间需要购买哪些物品,怎 么布置,你说了算,只要不超过N元钱就行”.今 ...

  10. 关于“最小的K个数”问题

    从一堆无序的数中(共n个数)找到最小的K个数,这也算是一道比较经典的题目了,关于这道题目的解法,一般有几种: 方法1:先对所有的数据进行排序,然后直接找出前K个数来,即最小的K个数.时间复杂度为O(N ...