iOS切换到后台支持获取位置信息功能

HBuilder默认生成的应用在iOS是不支持后台运行,当应用切换到后台时应用停止运行,下次切换到前台继续运行。如果要支持应用切换到后台后继续运行获取位置需要进行额外配置参数操作。

打开应用的manifest.json文件,切换到代码视图,在plus -> distribute -> apple 下添加以下数据:

        // ...
"UIBackgroundModes":["location"],
// ...
\n

在应用切换到后台之前需要调用监听位置变化API(plus.geolocation.watchPosition):

    // ...
var watchId = plus.geolocation.watchPosition( function ( p ) {
console.log( "监听位置变化信息:" );
console.log( JSON.stringify(p) );
}, function ( e ) {
console.log( "监听位置变化信息失败:"+e.message );
}, {} );
// ...
\n

注意:真机运行不支持此功能,需要提交到打App云端打包才生效

应用切换到后台持续时,需要避免调用同步5+ API(调用直接返回数据的API),在后台运行时此类API将无法同步返回数据

iOS切换到后台支持音乐播放功能


1 分享 关注
DCloud_客服_Trust
wanghui

wanghui

mark
0 赞 2019-01-12 16:08
240866343@qq.com

240866343@qq.com

这可是个大问题!有可靠的解决方案吗??
0 赞 2018-10-13 15:24
mal0211@126.com

mal0211@126.com

没有一点用处,放到后台3分钟就挂了。官方能不能给个解决方案??用native.js来搞跑到delegate那就挂了,无语
0 赞 2018-09-18 16:16
小权

小权 回复 feng93115@126.com

同求
0 赞 2018-01-25 15:10
所谓

所谓 回复 轻轻的烟雾

我也遇到过这个问题了,就是普通的console.log 3分钟之后也不执行了,你有没有解决这问题呀
0 赞 2017-11-03 16:41
xingfudeshi@vip.qq.com

xingfudeshi@vip.qq.com

好贴
0 赞 2017-08-01 10:40
feng93115@126.com

feng93115@126.com

请问安卓有没有办法实现~~感谢~
0 赞 2017-06-08 16:41
feng93115@126.com

feng93115@126.com

那个~请问安卓有办法实现后台获取地理位置吗,我总之遇到到后台两三分钟之后就不再获取了的情况。重新唤起app才会继续获取~~感谢~
1 赞 2017-06-01 11:28
shengminjun@126.com

shengminjun@126.com

用定时器调用
plus.geolocation.getCurrentPosition(geoInf, function ( e ) {
mui.toast("获取定位位置信息失败");
},{geocode:true,provider:'baidu', enableHighAccuracy:true});
time = setTimeout("getGeocode()" , 60000);
0 赞 2017-05-12 15:15
1019422167@qq.com

1019422167@qq.com

mark
0 赞 2017-05-05 09:34
白罂粟

白罂粟

为啥这个东西有时候好使有时候不好使啊
0 赞 2016-12-09 16:17
轻轻的烟雾

轻轻的烟雾

现在的问题,ios和安卓一样,程序切换到后台大概3分钟之后,不再执行。然后唤起程序后,又正常执行了。
0 赞 2016-12-01 09:49
1758342505@qq.com

1758342505@qq.com

用种方法ios通知栏会一直有“**正在使用地理位置信息” 这个怎么解决?
0 赞 2016-09-26 11:15
Recollection

Recollection

监听不执行是什么情况
1 赞 2016-09-11 11:43
YanJiaXing

YanJiaXing

按照文档配置了,但是监听在后台几分钟后还是断了。是哪里出了问题呢?
2 赞 2016-09-06 18:35
DCloud_App_Array

DCloud_App_Array 回复 damdmen

是的,这个字段值是字符串数组
0 赞 2016-07-08 16:10
damdmen

damdmen

"UIBackgroundModes":["location"], 这里有中括号?
0 赞 2016-07-07 16:23
DCloud_App_Array

DCloud_App_Array 回复 damdmen

可以先调用plus.geolocation.watchPosition方法后再调用setInterval("plus.geolocation.getCurrentLocation(),30000")
0 赞 2016-06-27 18:22
damdmen

damdmen

是不是用setInterval("plus.geolocation.getCurrentLocation(),30000") 类似这样的方式不可以?

我记得在实际使用中watchPosition经常失灵,所以一直用上面的方法更新用户位置
0 赞 2016-06-25 18:07

要回复文章请先登录注册