一、app.json配置属性之requiredBackgroundModes
申明需要后台运行的能力,类型为数组。目前支持以下项目:
audio: 后台音乐播放
location: 后台定位
如:
{ "pages": ["pages/index/index"], "requiredBackgroundModes": ["audio", "location"] }
注:在此处申明了后台运行的接口,开发版和体验版上可以直接生效,正式版还需通过审核。
二、audio
1.启用后台播放配置
app.json 配置requiredBackgroundModes音频后台播放,在小程序被手机切换为后台应用的时候,小程序中的音频还可以正常播放。
{ "pages": ["pages/index/index"], "requiredBackgroundModes": ["audio"] }
2.添加调用代码
注意:getBackgroundAudioManager() 目前只能够播放网络音频链接!不可以播放本地文件、还有工程内的音频文件。测试音频链接,可以去网友的网站,获取音乐平台的音频直链:https://music.liuzhijin.cn/
clkme:function(){ const backgroundAudioManager = wx.getBackgroundAudioManager() backgroundAudioManager.title = '折子戏'; backgroundAudioManager.epname = '折子戏'; backgroundAudioManager.singer = '许巍'; backgroundAudioManager.coverImgUrl = ''; // 设置了 src 之后会自动播放 backgroundAudioManager.src = 'http://music.163.com/song/media/outer/url?id=97325.mp3'; backgroundAudioManager.play();//不要加这个!!!设置了SRC即可播放,不要再行play() //播放开始触发onEnded方法 backgroundAudioManager.onPlay(() => { console.log("音乐播放开始"); }) //播放结束触发onEnded方法 backgroundAudioManager.onEnded(() => { console.log("音乐播放结束"); }) backgroundAudioManager.onError(() => { console.log("音乐播放错误"); }) },
3.注意点
getBackgroundAudioManager 一旦设置了src就开始播放了,不要再次调用play()
三、location
1.启用后台定位功能
在app.json中新增:
"requiredBackgroundModes":["location"], "permission": { "scope.userLocationBackground": { "desc": "你的位置信息将用于小程序位置接口的效果展示" } },
小程序后台定位的使用相关文档:https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.onLocationChange.html
下面列举详细功能:
1.wx.onLocationChange//监听位置实时变化
2.wx.stopLocationUpdate//关闭监听实时位置变化,前后台都停止消息接收
3.wx.startLocationUpdate//开启小程序进入前台时接收位置消息
4.wx.startLocationUpdataBackground//开启小程序进入前后台时均接收位置消息
首先我们需要开启小程序进入前后台时均接收位置消息
const _locationChangeFn = function(res) { console.log('location change', res) } wx.onLocationChange(_locationChangeFn) wx.offLocationChange(_locationChangeFn)
注意这个API无法在开发者工具上调试,只能用真机来进行