您的位置:首页 > 移动开发 > Android开发

Android获得GPS坐标

2016-05-06 16:28 453 查看
package com.smartdot.utils;

import android.content.Context;

import android.location.Criteria;

import android.location.Location;

import android.location.LocationListener;

import android.location.LocationManager;

import android.os.Bundle;

import android.widget.Toast;

public class GpsManager {

private Context context;

private GpsManager(Context context) {

this.context = context;

}

private boolean openGPSSettings() {

LocationManager alm = (LocationManager) context

.getSystemService(Context.LOCATION_SERVICE);

if (alm.isProviderEnabled(android.location.LocationManager.GPS_PROVIDER)) {

Toast.makeText(context, "GPS模块正常", Toast.LENGTH_SHORT).show();

return true;

}

Toast.makeText(context, "请开启GPS!", Toast.LENGTH_SHORT).show();

return false;

}

public static Location getLocatoin(Context context) {

GpsManager gps = new GpsManager(context);

return gps.getLocation();

}

private Location getLocation() {

if(!openGPSSettings()) {

return null;

}

// 获取位置管理服务

LocationManager locationManager;

String serviceName = Context.LOCATION_SERVICE;

locationManager = (LocationManager) context.getSystemService(serviceName);

// 查找到服务信息

Criteria criteria = new Criteria();

criteria.setAccuracy(Criteria.ACCURACY_FINE); // 高精度

criteria.setAltitudeRequired(false);

criteria.setBearingRequired(false);

criteria.setCostAllowed(true);

criteria.setPowerRequirement(Criteria.POWER_LOW); // 低功耗

String provider = locationManager.getBestProvider(criteria, true); // 获取GPS信息

Location location = locationManager.getLastKnownLocation(provider); // 通过GPS获取位置

//updateToNewLocation(location);

// 设置监听器,自动更新的最小时间为间隔N秒(1秒为1*1000,这样写主要为了方便)或最小位移变化超过N米

locationManager.requestLocationUpdates(provider, 100 * 1000, 500,

listener );

// location.getLatitude();

return location;

}

LocationListener listener = new LocationListener() {

@Override

public void onStatusChanged(String provider, int status, Bundle extras) {

// TODO Auto-generated method stub

}

@Override

public void onProviderEnabled(String provider) {

// TODO Auto-generated method stub

}

@Override

public void onProviderDisabled(String provider) {

// TODO Auto-generated method stub

}

@Override

public void onLocationChanged(Location location) {

// TODO Auto-generated method stub

}

};

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: