百度地图前台定位服务集成指南
安卓应用里搞定位,想稳定靠谱的话,百度地图的前台服务方式还挺值得一试的。它的特点就是能常驻通知栏,系统就不会随便把你的定位服务干掉,适合导航、打车这类一直要定位的场景。
前台服务的概念其实也不复杂,简单说就是弄个通知,让系统知道你这服务重要,不该轻易被杀。只要搞明白这个机制,再配合百度地图 SDK,定位就稳得住。
先在百度地图开放平台申个API 密钥,在build.gradle
里加一句:
implementation 'com.baidu.mapapi:baidumapapi:5.2.1'
再别忘了在AndroidManifest.xml
里加上定位、网络这些权限。
新建一个LocationService
类,继承自Service
,初始化地图 SDK、设置定位参数、启动定位服务,基本就成了。定位用LocationClient
,参数可以配置成高精度模式,定位频率比如每秒一次,用起来还蛮灵活。
通知也别省,前台服务得靠它保命。用NotificationCompat.Builder
建个通知,再用startForeground()
绑上就行。像这样:
Notification notification = new NotificationCompat.Builder(this)
.setContentTitle("定位服务")
.setContentText("正在获取您的位置信息")
.setSmallIcon(R.mipmap.ic_launcher)
.build();
startForeground(NOTIFICATION_ID, notification);
记得适配下 Android 6.0+的动态权限申哦,不然运行时直接崩了可别怪我没提醒。用ActivityCompat.checkSelfPermission()
和requestPermissions()
就行。
如果你正好在做需要持续定位的 APP,这套前台服务加百度地图的组合还挺香的。你也可以顺手看看这些相关的例子和源码,能帮你更快上手:
嗯,,这套方案比较实用,适配做得好,定位也稳定。如果你在做地图类应用或者需要后台持续定位的功能,可以直接上手试试。
26.97MB
文件大小:
评论区