android onresume方法,Android onActivityResult()和onResume()的执行顺序

android onresume方法,Android onActivityResult()和onResume()的执行顺序问题回顾:在Android8.0手机上不能直接安装Apk,需要权限申请,回调后执行onActivityResult()方法,并弹出对应的dialog,这时需要判断当前Activity是否处于resume状态,通过变量来控制,但结果是这个dialog并不会弹出。问题本质Activity跳转到系统应用后回调onActivityResult()先执行还是onResume()先执行?查看源码/***C…

大家好,又见面了,我是你们的朋友全栈君。

问题回顾:

在Android8.0手机上不能直接安装Apk,需要权限申请,回调后执行onActivityResult()方法,并弹出对应的dialog,这时需要判断当前Activity是否处于resume状态,通过变量来控制,但结果是这个dialog并不会弹出。

问题本质

Activity跳转到系统应用后回调onActivityResult() 先执行还是onResume()先执行?

查看源码

/**

* Called when an activity you launched exits, giving you the requestCode

* you started it with, the resultCode it returned, and any additional

* data from it. The resultCode will be

* {@link #RESULT_CANCELED} if the activity explicitly returned that,

* didn’t return any result, or crashed during its operation.

*

*

You will receive this call immediately before onResume() when your

* activity is re-starting.

*

*

This method is never invoked if your activity sets

* {@link android.R.styleable#AndroidManifestActivity_noHistory noHistory} to

* true.

*

* @param requestCode The integer request code originally supplied to

* startActivityForResult(), allowing you to identify who this

* result came from.

* @param resultCode The integer result code returned by the child activity

* through its setResult().

* @param data An Intent, which can return result data to the caller

* (various data can be attached to Intent “extras”).

*

* @see #startActivityForResult

* @see #createPendingResult

* @see #setResult(int)

*/

protected void onActivityResult(int requestCode, int resultCode, Intent data) {

}

onActivityResult()注释中有这么一句话:

You will receive this call immediately before onResume() when your activity is re-starting.

(意思是说当你的Activity重新启动时 onActivityResult() 会在onResume()之前执行)

很显然,如果你的Activity 调用了 startActivityForResult() 方法启动,回调之后会先执行 onActivityResult() ,然后执行onResume()

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/139798.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • C/C++中随机函数rand()和srand()的用法「建议收藏」

    C/C++中随机函数rand()和srand()的用法「建议收藏」一、rand()函数名:rand功能:随机数发生器用法:intrand(void);所在头文件:stdlib.h函数说明:rand()的内部实现是用线性同余法做的,它不是真的随机数,因其周期特别长,故在一定的范围里可看成是随机的。

    2022年4月29日
  • 电气设计心得体会_原理图设计规范

    电气设计心得体会_原理图设计规范本博客将简述中兴通讯股份有限公司在原理图设计中需要注意的一些事项,其中包含了中兴设计开发部积累的大量硬件开发知识和经验,可以作为学习使用。硬件工程师可以学习并掌握检查条目的内容以及对条目的详细说明,学习部门经验。

    2022年9月5日
  • XenServer存储概述

    XenServer存储概述

    2021年8月26日
  • win10 python环境_win10安装python

    win10 python环境_win10安装pythonWin10下的Python环境配置原料64位Windows10专业版安装Python访问python的官方网站www.python.org,点击download,如图一选择2.7版本,如图二下载好图三所示文件双击打开上述安装程序,选择是否给所有用户使用,默认是给全局,点Next选择安装路径,选好后Next选择要安装的模块,默认即可,Next安装完了,点击Finash去安装目录看一下目录结构

    2022年9月25日
  • 刷题 编写一个函数,给出可以转换的不同字符串的个数。 …

    刷题 编写一个函数,给出可以转换的不同字符串的个数。 …

    2021年6月17日
  • 原码补码相互转换[通俗易懂]

    原码补码相互转换[通俗易懂]1.基础概念原码:为十进制数的二进制表示,正数符号位为0,负数符号位为1例如:10的二进制为00001010,-10的二进制为10001010补码:为原码的计算码,通俗的讲,计算的时候用补码,看大小的时候用原码2.原码转换成补码正数原码转补码:正数的补码,与原码相同例如,10的原码为00001010,补码也是00001010负数原码转补码:负数的补码:符号位不变,其余各位按位取反,取反后整体加1例如:-10的原码为10001010…

    2022年10月28日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号