stellar 中文文档 下载 App

权限 API 全表:检查、申请、远程权限与权限列表

用户侧在授权页点「允许」之前,应用侧要先把状态查清、把申请发对。这一页汇总权限相关的全部接口。

核心三件套

// 检查权限是否已授予(默认检查 "stellar" 权限)
Stellar.checkSelfPermission(): Boolean

// 发起权限申请,用户会在管理器侧看到弹窗
Stellar.requestPermission(requestCode = 1)

// 是否应向用户解释权限用途(引导提示用)
Stellar.shouldShowRequestPermissionRationale(): Boolean

标准调用顺序:pingBinder() 确认服务在 → checkSelfPermission() 查状态 → 未授权则 requestPermission(),结果经回调返回(见初始化与监听器)。

远程权限:查服务自己有什么

服务以 shell 或 root 身份运行,它能代行使哪些系统权限是另一回事:

// 检查 Stellar 服务自身是否拥有指定权限
val result = Stellar.checkRemotePermission("android.permission.WRITE_SECURE_SETTINGS")
// result == PackageManager.PERMISSION_GRANTED 表示已授予

典型用途:应用依赖某项系统权限(如 READ_LOGS、DUMP)前,先确认服务身份是否携带,避免运行期失败。降权激活会收窄这层能力,见Root 启动与降权激活。

权限列表与细分权限

// 当前服务版本支持的全部权限项
Stellar.supportedPermissions: Array<String>

返回值里能看到 stellar、follow_stellar_startup 等权限项,与用户侧授权页展示的细分权限一一对应,概念见细分权限。

常见坑