gpt4 book ai didi

M中权限撤销后的Android Activity和Fragment生命周期

转载 作者:行者123 更新时间:2023-11-29 00:06:18 25 4
gpt4 key购买 nike

我试图在权限更改期间了解应用程序及其组件的生命周期。

给定:

  targetSdk = 23
compileSdk = 23

假设我打开我的应用程序并显示 fragment ,然后进行设置并撤销权限。

我的理解是进程已重新启动,但是没有调用任何 fragment 生命周期方法(onCreateView 等...),这导致我的测试工具应用程序在返回应用程序时崩溃。

我在撤销权限返回后触摸了 fragment 上的一个按钮,然后:

'android.os.IBinder android.widget.EditText.getWindowToken()' on a null object reference

此代码用于隐藏显示的屏幕键盘,如果需要我可以将其删除,但这里的问题是如果进程重新启动为什么不重新创建 fragment ?

编辑:做了更多日志记录。所以看起来 fragment/Activity 正在调用生命周期方法,但似乎重新初始化并没有真正完成。

最佳答案

当您撤销应用程序设置的权限时 - Activity 及其所有组件都会重新启动。但是在 onCreate(...) 中,savedInstanceState 不等于 null。

因此你可以使用这样的技巧:

if (savedInstanceState != null) {
...
}

关于M中权限撤销后的Android Activity和Fragment生命周期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33571068/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com