在找到设备的当前坐标时抛出空指针异常


afs-loliaholic
2024-10-25 02:57:20 (4月前)
  1. 嘿伙计们,我试图找到使用GPS和当前设备的坐标


网络
</跨度>
根据。我正在为API 23测试此代码。但此代码返回NullPointerException。代码是+“\ n长度:”+经度,Toast.LENGTH_LONG)。show();
}
其他{
showSettingsAlert(”

网络
</跨度>
“);
}
}

  1. public void showSettingsAlertString provider

3 条回复
  1. 0# WL | 2019-08-31 10-32



    你没有初始化你的

    locationManager

    因此,当你打电话

    locationManager.isProviderEnabled(provider)

    它失败了

    NullPointerException



    这将在您的堆栈跟踪中显示,就在这里




    引起:java.lang.NullPointerException:尝试在空对象引用上调用虚方法’boolean android.location.LocationManager.isProviderEnabled(java.lang.String)’



  2. 1# 部落用户 | 2019-08-31 10-32




    但我的问题是,尽管在mGPS()和mNW()中给出了一个else条件来处理null,但是这个代码抛出异常




    你的例外是抛出

    因为

    if

    声明被评估




    </强>
    变量为null。




    1. if (locationManager.isProviderEnabled(provider)) {

    2. </code>


    这是一个正确的空检查。




    1. if (locationManager != null && locationManager.isProviderEnabled(provider)) {

    2. } else {

    3. }

    4. </code>


    您应该实际初始化变量并在onCreate中添加这样的行




    1. locationManager = (LocationManager) context.getSystemService(LOCATION_SERVICE);

    2. </code>

登录 后才能参与评论