Действие уничтожается и воссоздается при повороте телефона. Это означает, что во время повторного создания действия контекст будет нулевым, и вы должны пытаться получить к нему доступ в какой-то момент во время этого.
Я не уверен, где у вас есть строка кода, которую вы опубликовали , но если вы хотите гарантировать ненулевой контекст, вам следует подождать, пока действие не будет создано.
var locationmanager: LocationManager? = null
override fun onActivityCreated(savedInstanceState: Bundle?) {
val context = context ?: return // this line gets a non-null context and is safer than !!
locationmanager = context.getSystemService(Context.LOCATION_SERVICE) as LocationManager
...
В общем, при доступе к объектам, которые могут быть обнулены в Kotlin, гораздо предпочтительнее использовать ?
вместо !!
, чтобы избежать любых исключений нулевого указателя