美文网首页
如何使用黑阈的停用 API

如何使用黑阈的停用 API

作者: 简域工作室 | 来源:发表于2018-03-04 10:23 被阅读2726次

    注:自 3.0.7 起,不再支持 包名 + receiver.BreventServerReceiver 方式。建议直接使用 sdk 内置 Receiver,或者改成 me.piebridge.brevent.protocol.BreventServerReceiver。

    黑阈自 2.7.9 起引入“停用应用”功能。目前停用应用,部分称之为“冻结”,主要有以下流派:

    • Root
    • 设备管理员
      设备管理员只能有一个,且需要删除已有账号及兼容性问题

    黑阈的“停用应用”采用 disabled-user 特性,在 Android 7 及以上,shell 就有权限。同时,黑阈服务运行在 shell 层,自 2.8.6 起提供 demo;2.8.9 起,提供权限 API,本文着重说明黑阈停用 API 的使用。

    使用方法

    1. 加入依赖
    dependencies {
        implementation 'me.piebridge:brevent-protocol-base:3.0.7'
    }
    
    1. 获得权限并使用
      黑阈停用 API 需要黑阈自定义权限 BREVENT_DISABLED,属于危险级别,必须用户显式确认,具体请参阅 Android 6 引入的 运行时权限

    2. 依赖包含内容

    • 两个权限

      • android.permission.INTERNET
        黑阈服务运行在本地网络,需要网络权限才能访问
      • me.piebridge.brevent.permission.BREVENT_DISABLED
        使用黑阈停用 API 必须要获取 BREVENT_DISABLED 权限
    • 两个组件
      默认以下两个组件运行在 :brevent 进程,如有需要,请参照 合并多个清单文件 自行修改。

      • BreventServerReceiver
        黑阈服务启动时,接收黑阈服务发出的 token
      • BreventProtocolProvider
        提供多进程下的 token 共享

    停用 API 限制

    • 只能在 启用 与 用户停用 状态切换
      本质上,黑阈停用 API 只是一层 wrapper,相关状态请看
      getApplicationEnabledSetting
    • 黑阈已激活,且系统支持“停用应用”
      特别说明 ,“停用应用”在黑阈中需要支付确认才可以使用;但是,“停用 API”不需要支付确认。
    • 需要本地网络权限
      黑阈服务运行在 shell 层,黑阈及黑阈 API 使用 socket 与本地网络通讯。

    API (BreventDisabled) 介绍

    使用方法:

    Brevent.with(context, new BreventDisabled());
    
    BreventDisabled.getInstance();
    

    您也可直接参见 demo

    • boolean hasBrevent()
      判断是否安装了支持停用 API 的黑阈。
    • boolean isAvailable()
      判断 API 是否可用。
    • List<String> getDisabledPackages(int)
      返回用户停用状态应用列表,uid 为多账号 uid,不支持多账户的话,使用 0 即可。
    • boolean isDisabled(String, int)
      判断应用是否用户停用,也可直接使用 getApplicationEnabledSetting
    • boolean setPackageEnabled(String, int, boolean)
      设置是否停用。已经设置返回 true,无法设置返回 false。

    安全隐患

    • 不正当使用停用 API 可能导致系统不可用。目前黑阈 API 不许停用的应用只有 特别重要 的应用(黑阈内标记为 Android 进程)与黑阈本身;黑阈不许停用的应用额外包括输入法,具有通讯功能的电话与短信。
    • 谨慎停用其他接入黑阈停用 API 的应用。您可以使用 getPackagesHoldingPermissions 获取相应清单。

    特别感谢

    感谢 冰箱小黑屋 开发者的测试与反馈。

    相关文章

      网友评论

          本文标题:如何使用黑阈的停用 API

          本文链接:https://www.haomeiwen.com/subject/korffftx.html