安卓判断手机GPS是否打开,未打开时跳去手机设置开启GPS的方法

开门见山地说在APP开发中我们难免会遇到需要开启手机定位的情况(最常见的就是点外卖的时候),那么我们该如何像下图的某团外卖一样,检测手机是否开启定位,在没有开启定位的情况下跳转去开启呢,详见下文:
在这里插入图片描述
要实现这样的功能,首先就需要先检测手机是否开启了定位服务,见下面代码:

  /**
	 * 检查是否打开手机的gps
	 * @param context
	 * @return
	 */
	public static boolean checkGPSIsOpen(Context context) {
		LocationManager locationManager = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);
		return locationManager.isProviderEnabled(android.location.LocationManager.GPS_PROVIDER);
	}

这样直接就能去检测出手机是否开启了定位服务,开启的话返回true,没有开启的话返回false。然后我们根据判断来写我们接下来的逻辑,开启的话就不管,没开启的话就需要跳转到手机设置里去开启。

if (CommonUtils.checkGPSIsOpen(getContext())) {
      //已开启定位服务
}else{
     //未开启定位服务
     //可以自己加个Dialog的对话框,效果就和美团那个一样了
     //跳转GPS设置界面
      Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
      startActivityForResult(intent, GPS_REQUEST_CODE);
}

通过以上代码就可以实现安卓手机判断GPS定位是否打开的功能,并且在未打开时能够跳转到手机设置里让用户去开启GPS的功能。希望能够帮助大家

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐