GPS 定位获取 手机当前的位置

package com.itheima.mobiesafe.service;

import android.app.Service;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.location.Criteria;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.os.IBinder;
import android.telephony.SmsManager;

public class GPSService extends Service {

	LocationManager lm;
    MyListener listener;
	@Override
	public IBinder onBind(Intent intent) {
		return null;
	}

	@Override
	public void onCreate() {
		super.onCreate();
		lm = (LocationManager) getSystemService(LOCATION_SERVICE);
		Criteria criteria = new Criteria();
		criteria.setAccuracy(Criteria.ACCURACY_FINE);
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="white-space:pre">				</span>/*置参数细化:</span>
<p><span style="white-space:pre">		</span>criteria.setAccuracy(Criteria.ACCURACY_FINE);//设置为最大精度 
<span style="white-space:pre">		</span>criteria.setAltitudeRequired(false);//不要求海拔信息 
<span style="white-space:pre">		</span>criteria.setBearingRequired(false);//不要求方位信息 
<span style="white-space:pre">		</span>criteria.setCostAllowed(true);//是否允许付费 
<span style="white-space:pre">		</span>criteria.setPowerRequirement(Criteria.POWER_LOW);//对电量的要求 </p><span style="white-space:pre">		</span>*/
		listener = new MyListener();
		String provider = lm.getBestProvider(criteria, true);
		lm.requestLocationUpdates(provider, 0, 0, listener);
	}

	class MyListener implements LocationListener {

		@Override
		public void onLocationChanged(Location location) {
			String longitude = "j:" + location.getLongitude() + "\n";
			String latitude = "w:" + location.getLatitude() + "\n";
			String accuracy = "a" + location.getAccuracy() + "\n";
			SharedPreferences sp = getSharedPreferences("config", MODE_PRIVATE);
			Editor editor = sp.edit();
			editor.putString("lastlocation", longitude + latitude + accuracy);
			editor.commit();
		}

		@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 onDestroy() {
		// TODO Auto-generated method stub
		super.onDestroy();
		// 取消监听位置服务
		lm.removeUpdates(listener);
		listener = null;
	}
}


<p>权限:</p><p> <uses-permissionandroid:name="android.permission.ACCESS_FINE_LOCATION"/></p><p>    <uses-permissionandroid:name="android.permission.ACCESS_COARSE_LOCATION"/></p><p><uses-permissionandroid:name="android.permission.ACCESS_MOCK_LOCATION"/></p>
此方法 真机未成功过  但 模拟器上成功。。。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值