更新记录

1.0.2(2024-02-04) 下载此版本

优化逻辑

1.0.1(2024-02-04) 下载此版本

修复bug

1.0.0(2024-02-04) 下载此版本

初始化

查看更多

平台兼容性

uni-app(4.75)

Vue2 Vue3 Chrome Safari app-vue app-nvue Android iOS 鸿蒙
- - - - - - - - -
微信小程序 支付宝小程序 抖音小程序 百度小程序 快手小程序 京东小程序 鸿蒙元服务 QQ小程序 飞书小程序 快应用-华为 快应用-联盟
- - - - - - - - - - -

uni-app x(4.65)

Chrome Safari Android iOS 鸿蒙 微信小程序
- - - - -

HR-keep-alive 插件

HR-keep-alive 是一个为 Android 设计的前台服务插件,用于在应用中持续跟踪和获取位置信息。此插件确保在不同的 Android 版本上,应用能够有效地管理电池优化,并且能够在必要时进行前台服务。

功能

  • 查询当前应用是否忽略电池优化。
  • 请求忽略电池优化设置。
  • 启动和停止前台服务,用于持续获取位置信息。

安装

请将此插件的代码包括在您的项目中,并确保所有依赖项正确导入。

如何使用

完整页面示例

<template>
    <view class="content">
        <image class="logo" src="/static/logo.png"></image>
        <view class="text-area">
            <text class="title">忽略电池优化:{{isIgnoreBatteryOptimization}}</text>
        </view>
    </view>
</template>

<script>
    import {
        queryBatteryOptimizeStatus,
        requestIgnoreBatteryOptimization,
        startForegroundService,
        stopForegroundService
    } from "../../uni_modules/hr-persist-track";

    export default {
        data() {
            return {
                title: 'Hello',
                isIgnoreBatteryOptimization: false,
            }
        },
        onLoad() {
            startForegroundService();
            queryBatteryOptimizeStatus().then(res => {
                if (!res) {
                    requestIgnoreBatteryOptimization().then(result => {
                        this.isIgnoreBatteryOptimization = result;
                    })
                } else {
                    this.isIgnoreBatteryOptimization = true;
                }
            })
        },
        methods: {

        }
    }
</script>

<style>
    .content {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }

    .logo {
        height: 200rpx;
        width: 200rpx;
        margin-top: 200rpx;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 50rpx;
    }

    .text-area {
        display: flex;
        justify-content: center;
    }

    .title {
        font-size: 36rpx;
        color: #8f8f94;
    }
</style>

查询电池优化状态

要查询应用当前是否忽略电池优化,请使用以下方法:

import { queryBatteryOptimizeStatus } from '@/uni_modules/hr-keep-alive';

queryBatteryOptimizeStatus().then((isIgnoring) => {
    if (isIgnoring) {
        console.log("应用当前忽略电池优化");
    } else {
        console.log("应用当前未忽略电池优化");
    }
});

请求忽略电池优化

要请求用户允许应用忽略电池优化,请使用以下方法:

import { requestIgnoreBatteryOptimization } from '@/uni_modules/hr-keep-alive';

requestIgnoreBatteryOptimization().then((result) => {
    if (result) {
        console.log("用户允许忽略电池优化");
    } else {
        console.log("用户未允许忽略电池优化");
    }
});

启动前台服务

要启动前台服务,请使用以下方法:

import { startForegroundService } from '@/uni_modules/hr-keep-alive';

startForegroundService();

停止前台服务

要停止前台服务,请使用以下方法:

import { stopForegroundService } from '@/uni_modules/hr-keep-alive';

stopForegroundService();

注意事项

请确保您的应用遵守相关平台的政策和指南,特别是与前台服务和电池优化相关的部分。

贡献

欢迎对此插件提出改进建议或提交问题报告。

隐私、权限声明

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

<!-- 电池优化权限 --> <uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" /> <!-- 前台service权限 --> <uses-permission android:name="android.permission.FOREGROUND_SERVICE" /> <uses-permission android:name="android.permission.FOREGROUND_SERVICE_SPECIAL_USE" />

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

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

许可协议

MIT协议