我的github
posts - 3243,  comments - 42,  views - 158万

第一种:Network Provider

LocationManager lm = (LocationManager)context.getSystemService(Context.LOCATION_SERVICE);
String locationProvider = LocationManager.NETWORK_PROVIDER;
Location location = lm.getLastKnownLocation(locationProvider);
TextView tv = (TextView)findViewById(R.id.textview);
tv.setText("gps enabled"+location.getLongitude() + "," + location.getLatitude());

 同时用GPS_PROVIDER和NETWORK_PROVIDER

http://blog.sina.com.cn/s/blog_588508f801010l1n.html

if(lm.isProviderEnabled(LocationManager.GPS_PROVIDER))
{lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, ll);}
else{lm.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, ll);}
 
手机位置定位的四种模式:
- GPS定位(GPS_PROVIDER)
- 网络定位(NETWORK_PROVIDER)
- 被动定位(PASSIVE_PROVIDER)
- 融合定位(FUSED_PROVIDER)
监视位置变化:locationManager.requestLocationUpdates(provider, 2000, 0, locationListener);
第一个参数是位置提供者;第二个参数是产生位置改变时间的时间间隔(微秒);第三个参数是距离条件(米);第四个参数是回调函数,用来处理位置改变时间。实现locationListener的代码如下:
  • onLocationChanged() 在位置改变时被调用
  • onStatusChanged() 在定位功能硬件状态改变时被调用
  • onProviderEnabled 在用户启用具有定位功能的硬件时被调用
  • onProviderDisabled() 在用户禁用具有定位功能的硬件时被调用

参考:https://blog.csdn.net/yhaolpz/article/details/51346242

posted on   XiaoNiuFeiTian  阅读(147)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示