手机定位详解

原创 2015年07月06日 23:28:26

安卓手机定位需要用到LocationManger,获取到LocationManager服务后,先判断下GPS是否开启,

如果开启,就通过LocationManager调用requestLocationUpdates方法对其设置监听,监听的方式设为GPS

如果没有开启,监听方式则设为network。要添加位置的权限



public class GpsService extends Service {
	LocationManager lm;
	SharedPreferences sf;
	Editor et;
	LocationListener listener;
	@Override
	public void onCreate() {
		// TODO Auto-generated method stub
		super.onCreate();
		Log.i("huang", "开启服务成功");
		Toast.makeText(GpsService.this, "开启服务成功", 1).show();
		
		sf=getSharedPreferences("config", MODE_PRIVATE);
		et=sf.edit();
		
		//监听回调函数
		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
				double longitude = location.getLongitude();
				double latitude = location.getLatitude();
				Toast.makeText(GpsService.this, "j:"+longitude+"/w:"+latitude, 1).show();
				et.putString("lastlocation", "j:"+longitude+"/w:"+latitude);
				et.commit();
			}
		};
		
		lm=(LocationManager) getSystemService(LOCATION_SERVICE);
		//判断gps是否打开,没打开则用网络定位
		if(lm.isProviderEnabled(LocationManager.GPS_PROVIDER)){
			Log.i("huang", "gps");
			Toast.makeText(GpsService.this, "gps", 1).show();
			//第一个参数是设置用那种方式定位,第二个是多长时间更新一次,毫秒单位
			//第三个是移动多少米更新一次,
			//第四个是监听的回调
			lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 1000, 1, listener);
			
		}
		else 
		{
			Log.i("huang", "network");
			Toast.makeText(GpsService.this, "network", 1).show();
			lm.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 1000, 1, listener);
			
		}
	}
	@Override
	public IBinder onBind(Intent intent) {
		// TODO Auto-generated method stub
		return null;
	}
}



需要的权限

<span style="white-space:pre">	</span><!--获取精准位置的权限  -->
	<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
	<!--获取粗略位置的权限  -->
	<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION" />



版权声明:本文为博主原创文章,未经博主允许不得转载。

智能手机怎样才能不会被定位追踪?

智能手机怎样才能不会被定位追踪? author: minigps-九护 除非用户拔掉电池,对于一些无法拆卸电池的手机,关机也是有可能被定位追踪的,单纯拔掉SIM卡还是会被追踪。 手机是如何被定位...
  • echo3
  • echo3
  • 2016年06月13日 15:16
  • 9271

Android手机定位案例代码

代码如下:package com.xuliugen.gpsdemo;import com.itheima.gpsdemo.R;import android.app.Activity; import a...
  • u010870518
  • u010870518
  • 2015年03月23日 19:23
  • 1919

移动端项目实现手机定位

一、手机定位原理 手机定位是通过特定的技术来获取移动手机或中断用户的位置信息(经纬度坐标),在电子地图上标出被定位对象的位置的技术或服务。 二、手机定位的方式 1.基于GPS定位,是利用手机的GPS定...
  • liayn523
  • liayn523
  • 2016年12月06日 15:43
  • 3561

手机定位技术简谈

转自http://nings.cn/2008/01/03/cmda-gpsone.html   目前常见的手机导航分为两种:一是手机内置或外置GPS配件,通过卫星导航,这是目前最为流行的定位方式...
  • yobsun
  • yobsun
  • 2016年07月12日 10:51
  • 668

手机是怎样通过WIFI定位的!

今天在网上看到以下一片文章,比较详细的描述了WIFI定位的原理,说的很好,有空可以看看。 wifi定位是很便利的,我们用的时候基本上是透明的,开了wifi连上网络,即可定位。精度从几十米到百十米不等...
  • Dansley
  • Dansley
  • 2015年01月20日 15:21
  • 2440

最全的LBS手机定位技术说明

手机定位技术原来大全,通过移动网络获取设备当前所在的Cell信息来获取设备当前位置。CellID定位的精度随着小区的覆盖范围而变化,从几十米到上百米不等。...
  • Iwangliyu
  • Iwangliyu
  • 2014年04月28日 18:55
  • 4724

代码实现获取android手机定位

一、定义一个类(GPSInfoProvider)。因为每个手机只有一个GPS模块提供定位信息,所以需要保证GPSInfoProvider为单例,即只存在一个GPSInfoProvider对象。 实现步...
  • etmessi
  • etmessi
  • 2013年10月12日 13:52
  • 2838

css3中position定位详解

最近热衷于前端的开发,因为突然发现虽然对于网站、应用来说,功能处于绝对重要的地位,但是用户体验对于用户来讲同样是那么的重要,可以说是第一印象。最近在开发当中发现以前对于css中的position的理解...
  • jiangcs520
  • jiangcs520
  • 2013年11月21日 20:53
  • 12564

vivo手机定位局限性,如何利用第三方库只获取定位信息

众所周知,定位有多种方式,GPS,Network,Wifi,基站定位。其实最好的用户体验就是把这四种定位方式融合,除非手机没有卡(当然也不开wifi&&gps),不然总是能找到一个相对的位置给你。 然...
  • m0_38082472
  • m0_38082472
  • 2017年06月23日 13:26
  • 729

【百度地图JavaScript API】手机端浏览器定位的实现

准备工作 开始动工 总结 准备工作 百度地图API JavaScript APIv2.0 eclipse eclipse-jee-kepler-SR2-win32-x86_64 tom...
  • u010226845
  • u010226845
  • 2015年12月09日 15:07
  • 8521
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:手机定位详解
举报原因:
原因补充:

(最多只允许输入30个字)