效能建设网站,电商培训教材,wordpress主题汉化版,怎么开微信公众号前言#xff1a;
在ios中#xff0c;软件切换至后台、手机息屏#xff0c;过了十来秒软件就会被系统挂起#xff0c;APP内的任务就不能继续执行#xff1b;在android中#xff0c;默认情况下#xff0c;软件在后台运行的时候#xff0c;触发某些特定条件的情况下…前言
在ios中软件切换至后台、手机息屏过了十来秒软件就会被系统挂起APP内的任务就不能继续执行在android中默认情况下软件在后台运行的时候触发某些特定条件的情况下会被杀掉进程。
解决方案
以下方案均测试息屏后台运行两小时
一、后台运行音频无声音频一般
manifest.json配置APP常用其他设置—ios设置-后台运行能力开启audio
代码
// 开启后台音乐模式
import icon from /static/appIcons/20x20.png;
const playTimes ref(0);
const createAudio () {const bgAudioManager uni.getBackgroundAudioManager();bgAudioManager.title 正在运行;bgAudioManager.singer 小熊管家;bgAudioManager.coverImgUrl icon;bgAudioManager.src https://******/keepAppLife.mp3;let t: any null;const rePlay () {if (t) {return;}t setTimeout(() {clearTimeout(t);t null;bgAudioManager.play();}, 30000);};bgAudioManager.onPlay(() {playTimes.value;});bgAudioManager.onEnded(() {bgAudioManager.play();});bgAudioManager.onPause(() {rePlay();});bgAudioManager.onStop(() {rePlay();});bgAudioManager.onError(() {rePlay();});
};
onShow(createAudio);缺点会被其他使用音频功能影响。
二、监听蓝牙断开触发push消息依赖外部蓝牙
适用于蓝牙保活业务类型。push消息可有可无。
manifest.json配置APP常用其他设置—ios设置-后台运行能力开启bluetooth-central,bluetooth-peripheral
采用监听蓝牙设备断连发送本地push消息可有效提醒用户程序运行中且不会中断程序 代码
// 本地push消息不能单纯使用push消息模式
// 需要借助其他的ios后台运行能力比如蓝牙监听连接状态
// 添加push可以有效的提醒用户打开APP不使用则用户无感
const createPushMessage () {uni.createPushMessage({title: 小熊管家,content: 正在运行,payload: {path: /pages/bluetoothTest/bluetoothTest},cover: true});
};
// 监听广播蓝牙连接状态
const onBLEConnectionStateChange (item: any) {uni.onBLEConnectionStateChange((res) {createPushMessage()});
};可以使用蓝牙扫描APP后台运行时开启蓝牙扫描切换前台时关闭如此可以不依赖蓝牙
三、H5 实时监听经纬度变化最优
manifest.json配置APP常用其他设置—ios设置-后台运行能力开启location 代码
const getIOSLocation () {plus.geolocation.watchPosition(function (res) {console.log(监听位置变化信息:, res);},function (e) {console.log(监听位置变化信息失败 e.message);},{ enableHighAccuracy: true, geocode: false });
};
onShow(getIOSLocation);android端/鸿蒙端相关
一般情况下安卓/鸿蒙手机会给每一个安装的APP软件设置耗电限制默认是智能模式在触发某些条件下我们的APP就会被杀掉只要不触发存在时间还是很长的那么如何修改
手机类型设置华为设置-应用管理-耗电详情-启动管理-选择允许后台活动小米/红米设置-应用管理-省电策略-选择无限制vivo设置-电池-后台耗电管理-选择应用-选择允许后台高耗电oppo设置-电池-关闭智能耗电保护-自定义耗电保护-选择应用-选择允许后台运行
ios手机使用开发中使用【后台运行能力】开启APP后台运行
其他手机类型参考类似设置 一般路人APP可能就不会这么去设置了
ios【后台运行能力】
名称说明audio后台运行音频可触发ios后台运行不被杀进程location后台运行定位可触发ios后台运行不被杀进程voip网络通话需要创建VOIP推送证书external-accessory一些外设控制 APP 比如一些控制 第三方 MFI 配件的应用声明这种 类型可以让APP 在后台不断的与 外设进行沟通bluetooth-centraliPhone 作为蓝牙中心设备使用也就是做为 server需要在后台不断更新蓝牙状态的bluetooth-peripheraliPhone 作为蓝牙外围设备使用也就是做 client需要在后台不断的访问其他蓝牙设备获取数据的fetchAPP 需要在后台不断地 频繁有规律的从网络获取数据大多数APP的后台刷新都是使用此模式来完成是不是可以使用WebSocket来触发remote-notification远程消息推送processing这是iOS13新增的一个模式基于BackgroundTasks优点在于不会检测cpu的占用率也会启动应用的后台任务。nearby-interactioniOS14苹果推出了NearbyInteraction 框架, 用于感知和连接具有U1芯片的设备。其主要目的是空间感知近距离定位。Nearby Interaction 主要提供了两种信息, 距离Distance和方位(Direction)。 当两个设备通过Nearby Interaction 互相连接时, 他们会不断发送距离和方位信息 这样就能互相定位了。 并且同一个设备能够和周围的多个设备建立连接互不干扰network-authenticationnewsstand-content杂志应用可以在后台下载杂志并处理push-to-talk对讲机