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()

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 【ES6】Promise用法[通俗易懂]

    【ES6】Promise用法[通俗易懂]promise理解及使用Promise解决的问题——异步Promise的基本用法异步操作拒绝及中断调用链ES6对Promise/A+的扩展Promise.all的扩展Promise.race的扩展众所周知的,Javascript是一种单线程的语言,所有的代码必须按照所谓的“自上而下”的顺序来执行。本特性带来的问题就是,一些将来的、未知的操作,必须异步实现(关于异步,我会在另一篇文章里进行讨论)…

  • Matlab axis函数[通俗易懂]

    Matlab axis函数[通俗易懂]axis  用于操作普通的坐标属性,(轴的缩放和外观)。axis([xminxmaxyminymax])  设置当前坐标轴x轴和y轴的限制范围axis([xminxmaxyminymaxzminzmaxcmincmax])设置x,y,z轴的限制范围和色差范围。v=axis返回一个行向量,记录了坐标范围axisauto解除限制,恢复到默认状态例…

  • a javascript error occurred in_in from of是什么意思

    a javascript error occurred in_in from of是什么意思ERRORinapp.bundle.jsfromUglifyJs问题ERRORinapp.bundle.jsfromUglifyJsUnexpectedtoken:name«element»,expected:punc«;»[app.bundle.js:106,8]在用webpack对代码打包的时候报错,在网上找到了类似的答案,还是没有解决我的问题.能解…

  • matlab怎么fprintf,matlab中的fprintf函数怎么用「建议收藏」

    matlab怎么fprintf,matlab中的fprintf函数怎么用「建议收藏」matlab中的fprintf函数怎么用发布时间:2020-06-2217:10:46来源:亿速云阅读:97作者:Leahmatlab中的fprintf函数怎么用?针对这个问题,今天小编总结了这篇文章,希望能帮助更多想解决这个问题的朋友找到更加简单易行的办法。fprintf函数可以将数据按指定格式写入到文本文件中。其调用格式为:数据的格式化输出:fprintf(fid,format,vari…

  • android画廊效果的轮播图,ViewPage实现无限轮播画廊效果

    android画廊效果的轮播图,ViewPage实现无限轮播画廊效果1.效果图2.布局文件主要使用的android:clipChildren的意思:是否限制子View在其范围内。再父布局和viewpager中设置该属性,要显示三个界面,还要设置marginleft和marginRightandroid:layout_width=”match_parent”android:layout_height=”match_parent”android:clip…

  • 4种kill某个用户所有进程的方法

    4种kill某个用户所有进程的方法

发表回复

您的电子邮箱地址不会被公开。

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