更新记录

1.0.5(2022-09-21)

新增原生定位返回高德坐标和百度坐标,新增自定义定位时间间隔

1.0.4(2022-09-14)

新增原生定位,开机自启动(需手机给与自启动和并联启动权限)

1.0.3(2022-09-13)

修复部分机型闪退的bug

查看更多

平台兼容性

Android Android CPU类型 iOS
适用版本区间:5.0 - 12.0 armeabi-v7a:未测试,arm64-v8a:未测试,x86:未测试 ×

原生插件通用使用流程:

  1. 购买插件,选择该插件绑定的项目。
  2. 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
  3. 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
  4. 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
  5. 开发完毕后正式云打包

付费原生插件目前不支持离线打包。
Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/android
iOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios

注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择


安卓后台保活 通知栏监听 电池白名单 厂商权限申请

安卓保活其实就是一个伪命题,随着安卓版本和厂商系统的不断更新,杀后台进程的趋势越来越大,很少有应用在不申请厂商权限的情况下存活,前几年出现的一些保活黑科技渐渐的都失去作用,比如:1像素保活,播放无声音频保活,多进程守护保活等等。感觉不如规规矩矩申请厂商权限来的实惠些。 经十几种机型测试,插件给与(自启动,并联启动,后台运行)权限后可以很好的保活。请自行测试后再购买!!! 如需流氓式保活请看最底下介绍

此处输入图片的描述此处输入图片的描述

1.0.5新增原生定位返回高德坐标和百度坐标,新增自定义定位时间间隔 1.0.4新增原生定位和开机自启动,开机自启动需包名支持和手机给与(自启动和并联启动权限)

插件使用方法:

引入插件:

const m = uni.requireNativePlugin("RC-KeepAlive")

打开定位

"LocTime":定位时间间隔,单位秒,插件默认为10秒。 "LocType":返回坐标的类型,支持国际通用标准坐标"WGS-84",高德系坐标"GCJ-02",百度系坐标"DB-09",插件默认为"WGS-84"。

m.openLocation({
  "LocTime": 10,
  "LocType": "GCJ-02"
})

关闭定位

m.closeLocation()

定位信息监听

默认10秒返回一次定位信息

const Location = uni.requireNativePlugin('globalEvent');
Location.addEventListener("MyLocation", (res) => {
    console.log(res.Longitude) //经度
    console.log(res.Latitude) //纬度
    console.log(res.Address) //地址
    console.log(res.Feature)//地址简写
    console.log(res.LocalCity) //所属城市
});

申请通知权限:

小米,oppp,vivo等手机默认没有通知权限,可用此方法申请。

//无通知权限时打开通知权限设置,有权限时res返回1.
m.isNotification((res)=>{
     console.log(res)
})

检查通知栏监听权限:

//res返回,有权限1,无权限0.
m.isMonitoringNotification((res) => {
    if (res == 1) {
        uni.showToast({
            title: '已开启通知栏监听权限',
            icon: 'none'
        });
    } else {
        uni.showToast({
            title: '未开启通知栏监听权限',
            icon: 'none'
        });
    }
})

开启通知栏监听权限:

//打开设置通知栏监听页面,如已设置fes返回1.
m.OpenMonitoringNotification((res) => {
    if (res == 1) {
        uni.showToast({
            title: '已开启通知栏监听',
            icon: 'none'
        });
    }
})

开始监听:

m.OpenNotification((res) => {
    if (res.NotificationStatus) {
        uni.showToast({
            title: '已开始监听:',
            icon: 'none'
        });
    }
})

//成功后res返回
{
  "NotificationStatus":true,
}

监听方法

onLoad() {
    const globalEvent = uni.requireNativePlugin("RC-NoticeMonitoring")
    plus.globalEvent.addEventListener("monitoring_notification", (e) => {
        console.log(e);
    });
},

打开悬浮窗权限:

//无权限时打开权限设置,有权限时res返回1.
m.openWindow((res) => {
    if (res == 1) {
        uni.showToast({
            title: '已开悬浮窗权限',
            icon: 'none'
        });
    }
})

厂商权限申请

//没有任何回调,大部分手机跳转到手机管家,部分手机跳转到应用权限设置。
 m.OpenPermission()

电池白名单权限检查

//res返回1有权限,0无权限。
m.isBatteryOptimizations((res) => {
    if (res == 1) {
        uni.showToast({
            title: '已开启电池优化白名单权限',
            icon: 'none'
        });
    } else {
        uni.showToast({
            title: '未开启电池优化白名单权限',
            icon: 'none'
        });
    }
})

申请电池优化白名单

//无权限时打开权限设置,有权限时res返回1.
m.OpenBatteryOptimizations((res) => {
    if (res == 1) {
        uni.showToast({
            title: '已开启电池优化白名单',
            icon: 'none'
        });
    }
})

如需流氓式保活,像打不死的小强那种,请看下图。

此处输入图片的描述

离线包已完成,点击下载测试。但打包成插件还有一些问题,感兴趣的朋友可加QQ349950998一起研究。

隐私、权限声明

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

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/> <uses-permission android:name="android.permission.DISABLE_KEYGUARD" /> <uses-permission android:name="android.permission.FOREGROUND_SERVICE" /> <uses-permission android:name="android.permission.WAKE_LOCK" /> <uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS"/> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" /> <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" /> <uses-permission android:name="android.permission.VIBRATE" /> <uses-permission android:name="android.permission.BROADCAST_STICKY" /> <uses-permission android:name="android.permission.SYSTEM_OVERLAY_WINDOW" /> <uses-permission android:name="android.permission.GET_TASKS" /> <uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS" /> <uses-permission android:name="android.permission.RECEIVE_USER_PRESENT" /> <uses-permission android:name="com.coloros.mcs.permission.USE_FULL_SCREEN_INTENT" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />

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

插件不采集任何数据

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

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问