GPS工具类

作者: 简书_朱聪 | 来源:发表于2017-12-29 17:57 被阅读0次

import android.content.Context;

import android.location.Criteria;

import android.location.Location;

import android.location.LocationListener;

import android.location.LocationManager;

/**

* gps工具类

*/

public class GpsUtil {

/*

获取一次定位信息

*/

    public static Location getLocation(Context context) {

LocationManager manager = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);

        if (manager.isProviderEnabled(LocationManager.GPS_PROVIDER)) {

Location location =manager.getLastKnownLocation(LocationManager.GPS_PROVIDER);

            if (location !=null) {

return location;

            }

}

if (manager.isProviderEnabled(LocationManager.NETWORK_PROVIDER)) {

Location location =manager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);

            if (location !=null) {

return location;

            }

}

return null;

    }

/**

    * @param context you know

    * @param minTime  间隔多久更新

    * @param minSpacing    距离变化多大更新

    * @param listener      回调

    * @return  成功与否

*/

    public static boolean addChangeListen(Context context, int minTime, float minSpacing, LocationListener listener) {

LocationManager manager = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);

        if (manager.isProviderEnabled(LocationManager.GPS_PROVIDER)) {

manager.requestLocationUpdates(LocationManager.GPS_PROVIDER, minTime, minSpacing, listener);

            return true;

        }

if (manager.isProviderEnabled(LocationManager.NETWORK_PROVIDER)) {

manager.requestLocationUpdates(LocationManager.GPS_PROVIDER, minTime, minSpacing, listener);

            return true;

        }

return false;

    }

/*

* 设置这个可以根据属性,判断是使用gps还是network,该工具类没用到

*/

    private static Criteria getCriteria() {

Criteria criteria =new Criteria();

        // 设置定位精确度 Criteria.ACCURACY_COARSE比较粗略,Criteria.ACCURACY_FINE则比较精细

        criteria.setAccuracy(Criteria.ACCURACY_COARSE);

        // 设置是否要求速度

        criteria.setSpeedRequired(false);

        // 设置是否允许运营商收费

        criteria.setCostAllowed(false);

        // 设置是否需要方位信息

        criteria.setBearingRequired(false);

        // 设置是否需要海拔信息

        criteria.setAltitudeRequired(false);

        // 设置对电源的需求

        criteria.setPowerRequirement(Criteria.POWER_LOW);

        return criteria;

    }

public static boolean checkGps(Context context) {

LocationManager manager = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);

        return manager.isProviderEnabled(LocationManager.GPS_PROVIDER) ||manager.isProviderEnabled(LocationManager.NETWORK_PROVIDER);

    }

}

相关文章

  • GPS工具类

    import android.content.Context; import android.location.C...

  • GPS工具类(可实现离线定位)

    这是实现离线进行GPS定位的工具类,使用简单方便 工具类 在Activity里的调用 至此,一个GPS定位就完成了...

  • GPS工具类(可实现离线定位)

    这是实现离线进行GPS定位的工具类,使用简单方便 工具类 在Activity里的调用 至此,一个GPS定位就完成了...

  • android 获取地理位置

    android 获取地理位置 通过网络获取 通过GPS获取 获取地理位置工具类 通过GPS获取还需要进行授权

  • 汽车GPS定位管理系统--全国包安装

    途游GPS分为4大类: 1.接线型GPS(接线型GPS细分为:基础,高级及断油电和远程聆听等,都是用于时实跟踪,用...

  • 基于GPS轨迹数据驻留点集散地识别

    聚类算法的GPS静态单点定位方法 为有效提高GPS静态单点定位的精度,提出了一种基于模糊聚类算法和卡尔曼滤波算法的...

  • SocketIO的使用

    SocketIO的工具类 RunSubject工具类 SubjectRun工具类 ObserverRun工具类 R...

  • 工具类

    系统工具类 snackbar工具类 xml解析工具类

  • 坐标系转换

    一、三类坐标系 1、WGS-84:国际标准,GPS坐标系,即地球坐标系(Google Earth或者GPS模块使用...

  • Javascript通用工具类

    Json工具类,处理所有Json相关的通用方法。 数字计算工具类 颜色工具类 日期工具类 字符串工具类

网友评论

    本文标题:GPS工具类

    本文链接:https://www.haomeiwen.com/subject/wtkwgxtx.html