uniapp自启动权限
uniapp自启动权限设置
在uniapp中实现自启动权限需要针对不同平台进行配置,以下是Android和iOS的处理方法:
Android平台配置
修改原生配置文件AndroidManifest.xml,添加自启动权限声明:
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
注册广播接收器监听开机事件:

<receiver android:name=".BootReceiver" android:enabled="true" android:exported="true">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"/>
</intent-filter>
</receiver>
iOS平台限制 iOS系统严格限制自启动行为,常规方法无法实现。可通过以下替代方案:
- 使用静默推送通知唤醒应用
- 申请后台刷新权限(有限制)
注意事项 Android 8.0+版本需额外处理后台限制:

// 在BootReceiver中启动前台服务
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
startForegroundService(new Intent(context, YourService.class));
}
权限动态申请 在应用内需动态申请权限:
// uniapp代码示例
uni.requestPermissions({
permissions: ['android.permission.RECEIVE_BOOT_COMPLETED'],
success: function(res) {
console.log('权限申请结果:', res);
}
});
各厂商白名单设置
国内Android厂商需单独设置自启动白名单:
- 华为:设置->应用->应用启动管理
- 小米:安全中心->授权管理->自启动管理
- OPPO:手机管家->权限隐私->自启动管理
- VIVO:i管家->软件管理->自启动管理
后台保活策略
结合自启动权限可采用的保活方案:
- 定时后台服务唤醒
- 双进程守护(Android)
- JobScheduler定时任务
- WorkManager后台任务
注意过度保活可能违反平台政策,需谨慎使用。






