- LocalContext.current를 활용하는 경우 강제 타입 캐스팅으로 인한 문제 발생 가능
- baseContext를 활용하여 액티비티를 탐색하는 경우 더 안정적
internal fun Context.findActivity(): Activity {
var context = this
while (context is ContextWrapper) {
if (context is Activity) return context
context = context.baseContext
}
throw IllegalStateException("Permissions should be called in the context of an Activity")
}
- while 문에 조건을 추가하여 무한루프 동작 예방