Java 在Android中,onResume()是在onRequestPermissionsResult()之后调用的吗?
我有一个活动,我将Java 在Android中,onResume()是在onRequestPermissionsResult()之后调用的吗?,java,android,android-permissions,Java,Android,Android Permissions,我有一个活动,我将checkSelfPermission和requestPermissions方法放在onCreate方法中 在onCreate之外,我还有一个onRequestPermissionsResult方法 最后,我还有一个onResume方法 在启动活动期间,onResume或onRequestPermissionsResult?onResume()将首先调用哪一个,因为只有在用户在权限请求对话框中接受或拒绝对应用程序的权限后才会调用onRequestPermissionsResul
checkSelfPermission
和requestPermissions
方法放在onCreate
方法中
在onCreate之外,我还有一个onRequestPermissionsResult
方法
最后,我还有一个onResume
方法
在启动
活动期间,onResume
或onRequestPermissionsResult
?onResume()
将首先调用哪一个,因为只有在用户在权限请求对话框中接受或拒绝对应用程序的权限后才会调用onRequestPermissionsResult(…)
。但是,在调用onRequestPermissionsResult(…)
后,会再次调用onResume,以允许您的活动考虑用户的选择(授予或拒绝的权限),并相应地执行第一次调用的代码,并且在第一次启动活动时仅调用一次
onResume
直接在onCreate
之后调用,或者在暂停后活动返回时调用
在用户确认权限后调用onRequestPermissionsResult
结论:onResume
在onRequestPermissionsResult
之前调用
您可以阅读有关活动生命周期的信息
如果有帮助,请标记为已回答。正确的事件链如下:
requestPermissions
requestPermissions
开始在另一个线程中运行,因为它是
设计为不阻塞UI线程。因此,您的活动经历了onStart和onResume现在,您还可以了解为什么不应该将requestPermissions放入onResume第一个是
onRequestPermissionsResult
我已经在
onPause()
上销毁了一些对象,它将在onResume()
上重新创建,但是我发现我的onRequestPermissionsResult()
操作了一些销毁的对象,如果您将requestPermissions
放在onCreate()
中,就会导致NullPointEx,onRequestPermissionsResult
将在onResume()之前调用?只需要几行代码,在这里写问题并等待任何人回答所需的时间就会少得多。谢谢@timcastelijnst这个答案不正确。onRequestPermissionsResult在onResume()之前调用。您是否在任何设备上进行过测试?您是否有此答案的来源?您所指的文档没有引用onRequestPermissionRequest的顺序,我已经测试过了,当onRequestPermissionsResult方法结束时,会再次调用onResume。我有完全相同的问题。谢谢你的详细解释!onstart和onresume可能根本不会被调用——这就是为什么在oncreate中调用requestPermissions是错误的