Android kotlin - 应用程序在检查GPS是否启用时停止

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android kotlin - 应用程序在检查GPS是否启用时停止相关的知识,希望对你有一定的参考价值。

这是代码:

        val gps_enabled = locationManager!!.isProviderEnabled(LocationManager.GPS_PROVIDER)

        if(!gps_enabled) {
            Log.d("letsSee", "GPS IS OFF")
        }else{
            Log.d("letsSee", "GPS IS ON")
        }

当我尝试检查GPS是打开还是关闭时,应用程序崩溃了。一切都工作正常没有检查,但我仍然需要检查它!有任何想法吗?

09-16 03:59:12.533 32454-32454/com.amoflirt.amoflirt E/dalvikvm: Could not find class 'android.graphics.drawable.RippleDrawable', referenced from method android.support.v7.widget.AppCompatImageHelper.hasOverlappingRendering
09-16 03:59:13.713 32454-32454/com.amoflirt.amoflirt E/AndroidRuntime: FATAL EXCEPTION: main
    kotlin.KotlinNullPointerException
        at com.amoflirt.amoflirt.MainActivity.getLocation(MainActivity.kt:95)
        at com.amoflirt.amoflirt.MainActivity$onCreate$3.onClick(MainActivity.kt:67)
        at android.view.View.performClick(View.java:4475)
        at android.view.View$PerformClick.run(View.java:18786)
        at android.os.Handler.handleCallback(Handler.java:730)
        at android.os.Handler.dispatchMessage(Handler.java:92)
        at android.os.Looper.loop(Looper.java:176)
        at android.app.ActivityThread.main(ActivityThread.java:5419)
        at java.lang.reflect.Method.invokeNative(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:525)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1046)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:862)
        at dalvik.system.NativeStart.main(Native Method)
答案

确保在访问locationManager之前已经定义了val locationManager by lazy { //however you define it normally }

作为旁注,您可以使用Kotlin lazy init:

qazxswpoi

只有在第一次访问它时才会初始化它,然后在该类的生命周期内保留该实例。

以上是关于Android kotlin - 应用程序在检查GPS是否启用时停止的主要内容,如果未能解决你的问题,请参考以下文章

在 Kotlin Android 中将值传递给函数时进行编译时间检查

使用Kotlin写的Android动态权限检查

android kotlin Gradle DSL method not found: '1.2.51()'错误,be using a version of the Android G

Android开发Kotlin检查lateinit变量是否已初始化的方法

在 Android 手机上检查方向

将对象缓存到android(kotlin)中的文件