如何使用isProviderEnabled所以它没有以黄色突出显示并带有警告?

时间:2018-02-19 15:12:00

标签: android android-gps

我正在尝试检查GPS是否已打开。我想在任何其他代码运行之前执行此检查。我尝试过使用许多代码示例,但每次使用isProviderEnabled的地方都以黄色突出显示,并警告可能存在NullPointerException。如何删除此警告,以及代码应放在何处?

final LocationManager manager = (LocationManager) 
          getSystemService(Context.LOCATION_SERVICE);
  if (!manager.isProviderEnabled(LocationManager.GPS_PROVIDER)) {
     /* some code   */
  }

screenshot of error and highlighting

1 个答案:

答案 0 :(得分:2)

在使用LocationManager之前检查它是否为非空包装代码块,如下所示

final LocationManager manager = (LocationManager) 
          getSystemService(Context.LOCATION_SERVICE);
  if(manager != null){
     if (!manager.isProviderEnabled(LocationManager.GPS_PROVIDER)) {
      /* some code   */
  }
}