更新记录

1.0.0(2026-06-08)

首版发布:新增前台通知辅助、通知权限检测与申请、通知设置页跳转、电池优化检测与设置引导、厂商自启动设置引导、运行状态诊断和多端安全降级。


平台兼容性

JQ-KeepAlive-UTS

安卓前台通知与运行状态 UTS 插件,面向需要提升 Android 可见任务运行稳定性的 uni-app / uni-app x 项目。

能力范围

  • Android 前台通知辅助:创建低优先级常驻通知,提升用户可见任务的运行稳定性。
  • 通知权限:检测、申请 POST_NOTIFICATIONS,打开应用通知设置页。
  • 电池优化:检测是否忽略电池优化,打开电池优化设置页,请求 REQUEST_IGNORE_BATTERY_OPTIMIZATIONS
  • 厂商设置:根据小米、华为、荣耀、OPPO、vivo、魅族等机型返回自启动和电池设置引导。
  • 状态诊断:返回系统版本、厂商、包名、通知权限、电池优化、前台通知状态。
  • iOS、H5、HarmonyOS、小程序返回安全降级结果,不声明 Android 原生系统能力。

重要说明

本插件仅提供用户可见的前台通知、权限检测和系统设置引导,不包含网络请求、上传、统计、广告 SDK 或云端存储能力。

插件不声明 android.permission.INTERNET。Android 端仅声明:

<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
<uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" />

Android 可见任务运行受系统版本、厂商 ROM、用户设置、通知权限、电池策略和应用业务类型影响。插件提供合规增强能力和用户设置引导,不承诺超出系统规则的效果。

快速开始

import {
  getKeepAliveStatus,
  requestNotificationPermission,
  requestIgnoreBatteryOptimization,
  openAutoStartSettings,
  startForegroundNotification,
  stopForegroundNotification
} from '@/uni_modules/JQ-KeepAlive-UTS'

console.log(getKeepAliveStatus())

requestNotificationPermission((res) => {
  console.log('notification:', res)
})

requestIgnoreBatteryOptimization()
openAutoStartSettings()

startForegroundNotification({
  title: '应用正在运行',
  content: '前台通知用于提升可见任务稳定性',
  channelName: '前台通知',
  id: 43018
})

stopForegroundNotification()

API

getKeepAliveStatus(options?)

返回当前平台、系统版本、厂商、通知权限、电池优化、前台通知状态。

checkNotificationPermission()

检测 Android 13+ 通知权限。Android 13 以下默认返回已具备。

requestNotificationPermission(callback?)

申请 POST_NOTIFICATIONS。如果用户拒绝且不再询问,请调用 openNotificationSettings() 引导用户手动打开。

openNotificationSettings()

打开当前应用通知设置页。

checkBatteryOptimization()

检测当前应用是否已忽略电池优化。

requestIgnoreBatteryOptimization()

请求系统弹窗允许忽略电池优化。部分 ROM 可能不弹窗,需要引导用户进入设置页。

openBatteryOptimizationSettings()

打开系统电池优化设置列表。

openAutoStartSettings(options?)

优先尝试打开小米/Redmi 自启动页,其他品牌默认打开应用详情页,并返回厂商设置指引。

startForegroundNotification(options?)

展示前台通知辅助。首版不注册真正 Android Service。

参数:

{
  title: '应用正在运行',
  content: '前台通知用于提升可见任务稳定性',
  channelName: '前台通知',
  id: 43018
}

stopForegroundNotification()

关闭前台通知辅助。

startForegroundService(options?) / stopForegroundService()

兼容业务命名的别名。当前版本实际调用前台通知辅助,并返回 notificationOnly: true

getManufacturerGuide(options?)

返回当前厂商的自启动、通知、电池优化设置建议。

常见问题

为什么需要用户手动确认系统设置?

Android 系统和厂商 ROM 对通知、自启动和电池策略有明确规则。合规做法是前台通知、业务可见、用户授权、厂商设置引导和任务降级。

标准基座能不能测?

可以测基础 UTS 调用和设置页跳转。涉及权限声明、通知行为和电池策略时,建议使用自定义基座或云打包 APK 在真机上测试。

iOS 是否支持?

iOS 不支持 Android 式前台通知运行策略。插件在 iOS 返回安全降级结果。

是否包含广告或网络?

不包含广告 SDK、网络请求、统计、上传或云端存储能力。插件不声明 android.permission.INTERNET

隐私、权限声明

1. 本插件需要申请的系统权限列表:

Android 端可能使用 FOREGROUND_SERVICE、POST_NOTIFICATIONS、REQUEST_IGNORE_BATTERY_OPTIMIZATIONS。插件仅提供用户可见的前台通知、权限检测和系统设置引导,不声明 INTERNET 权限。

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件不包含网络请求、上传、统计或云端存储能力。仅在调用 API 时返回本机通知权限、电池优化、自启动设置引导和运行状态诊断信息给调用方应用。

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

无广告展示能力。

暂无用户评论。