gpt4 book ai didi

android - 需要权限的生命周期感知组件

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

假设我有一个组件需要根据 Activity 的生命周期进行初始化和销毁​​。但是,此组件需要先获得用户的许可。最好的方法是什么?

我是否必须在两个不同的位置订阅同一个观察者,或者有没有代码重复的更好方法来做到这一点?

最佳答案

您可以实现生命周期感知类封装权限敏感的工作:

class MyLifecycleAware {

private var blObject: Any? = null

/**
* Manually call this method when permission granted
*/
@OnLifecycleEvent(Lifecycle.Event.ON_START)
fun init() = withPermission {
// code will be invoked only if permission was granted
blObject = TODO("Initialize business logic")
}

@OnLifecycleEvent(Lifecycle.Event.ON_STOP)
fun destroy() {
blObject?.destroy()
blObject = null
}

/**
* Wrap any permission sensitive actions with this check
*/
private inline fun withPermission(action: () -> Unit) {
val permissionGranted = TODO("Check permission granted")
if (permissionGranted)
action()
}
}

关于android - 需要权限的生命周期感知组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55144378/

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