android定位sdk | 百度地图api sdk-凯发k8官方旗舰厅

浏览器版本低!无法浏览完整内容,建议升级或更换浏览器。
android 8.0 开发须知
下载开发文档

android 8.0系统增加了很多新特性,对位置影响较大的特性就是增强了对后台定位的限制。
android 8.0系统为实现降低功耗,无论应用的目标sdk版本为多少,android 8.0系统都会对后台应用获取用户当前位置的频率进行限制,只允许后台应用每小时接收几次位置更新。
根据android 8.0的开发指引,为了适配这一系统特性,百度地图定位sdk新增加接口。它的实现原理就是开发者通过新接口生成一个前台服务通知,使得开发者自己的应用退到后台的时候,仍有前台通知在,规避了android 8.0系统对后台定位的限制。
注意:如果您的app在退到后台时本身就有前台服务通知,则无需按照本章节的介绍做适配注。

核心实现代码如下,详细代码请参考demo。

//开启前台定位服务:
notification.builder builder = new notification.builder(mainactivity.this.getapplicationcontext());
//获取一个notification构造器
intent nfintent = new intent(mainactivity.this.getapplicationcontext(), mainactivity.class);
builder.setcontentintent(pendingintent.getactivity(mainactivity.this,0, nfintent,0))// 设置pendingintent
.setcontenttitle("正在进行后台定位")// 设置下拉列表里的标题
.setsmallicon(r.mipmap.ic_launcher)// 设置状态栏内的小图标
.setcontenttext("后台定位通知")// 设置上下文内容
.setautocancel(true)
.setwhen(system.currenttimemillis());// 设置该通知发生的时间
notification notification = null;
notification = builder.build();
notification.defaults = notification.default_sound;//设置为默认的声音
mlocclient.enablelocinforeground(1001, notification);// 调起前台定位
//停止前台定位服务:
mlocclient.disablelocinforeground(true);// 关闭前台定位,同时移除通知栏

在android 8.0系统中,notification增加了新的接口,建议开发者针对android 8.0做特别适配,详细代码可参考demo。

注意:本接口不一定只在android 8.0系统上使用,在其他版本android系统中使用也可最大程度的增加定位进程的存活率,提升后台定位效果。

上一篇

android 9.0 开发须知

下一篇

android 7.0 开发须知

本篇文章对您是否有帮助?

网站地图