Appearance
📦⚡ 安装管理(InstallManager)模块 · 开发者指南
🧠 模块介绍
安装管理模块,用于批量安装、卸载、白名单/静默安装/签名限制等多维度应用管理,支持企业级自动化运维和安全策略。
🛠️ PanelSDK 初始化
java
// 推荐在 Application 或 Activity 中初始化,确保全局唯一
PanelSDK panelSDK = new PanelSDK(this);🧩 核心方法 · 专业解读
✅ whiteRulesSwitch — 设置应用白名单开关
java
int whiteRulesSwitch(boolean enable)参数说明
| 参数 | 类型 | 说明 |
|---|---|---|
| enable | boolean | true 启用,false 关闭 |
返回值说明
| 返回值 | 说明 |
|---|---|
| 0 | 设置成功 |
| -601 | 白名单添加失败 |
| -2/-3/-4/-5 | 通用错误,见下表 |
典型场景代码
java
int result = panelSDK.whiteRulesSwitch(true);
if (result == 0) {
// ✅ 白名单功能已启用
} else if (result == -601) {
// ⚠️ 白名单添加失败
} else {
// ❗ 其他错误,参考错误码表
}✅ addWhiteRules — 添加白名单应用
java
ArrayList<StAppRule> addWhiteRules(StAppRule appRule)参数说明
| 参数 | 类型 | 说明 |
|---|---|---|
| appRule | StAppRule | 应用实例 |
返回值说明
| 返回值 | 说明 |
|---|---|
| ArrayList<StAppRule> | 添加成功后的白名单列表,失败返回null |
典型场景代码
java
StAppRule appRule = new StAppRule();
appRule.setPackageName("com.example.app");
ArrayList<StAppRule> list = panelSDK.addWhiteRules(appRule);
if (list != null) {
// ✅ 添加成功,当前白名单应用数:${list.size()}
} else {
// ❗ 添加失败
}✅ removeWhiteRules — 移除白名单应用
java
ArrayList<StAppRule> removeWhiteRules(StAppRule appRule)参数说明
| 参数 | 类型 | 说明 |
|---|---|---|
| appRule | StAppRule | 应用实例 |
返回值说明
| 返回值 | 说明 |
|---|---|
| ArrayList<StAppRule> | 移除成功后的白名单列表,失败返回null |
典型场景代码
java
StAppRule appRule = new StAppRule();
appRule.setPackageName("com.example.app");
ArrayList<StAppRule> list = panelSDK.removeWhiteRules(appRule);
if (list != null) {
// ✅ 移除成功,当前白名单应用数:${list.size()}
} else {
// ❗ 移除失败
}✅ getWhiteRules — 获取白名单列表
java
ArrayList<StAppRule> getWhiteRules()返回值说明
| 返回值 | 说明 |
|---|---|
| ArrayList<StAppRule> | 当前所有白名单应用 |
典型场景代码
java
ArrayList<StAppRule> list = panelSDK.getWhiteRules();
if (list != null && !list.isEmpty()) {
// ✅ 获取成功,白名单应用数:${list.size()}
} else {
// ❗ 白名单为空或获取失败
}✅ isEnableWhiteRules — 检查白名单功能是否启用
java
boolean isEnableWhiteRules()返回值说明
| 返回值 | 说明 |
|---|---|
| true/false | true 启用,false 未启用或失败 |
典型场景代码
java
boolean enabled = panelSDK.isEnableWhiteRules();
if (enabled) {
// ✅ 白名单功能已启用
} else {
// ❗ 白名单功能未启用
}✅ clearWhiteRules — 清空白名单
java
int clearWhiteRules()返回值说明
| 返回值 | 说明 |
|---|---|
| 0 | 清空成功 |
| -601 | 白名单操作失败 |
典型场景代码
java
int result = panelSDK.clearWhiteRules();
if (result == 0) {
// ✅ 白名单已清空
} else if (result == -601) {
// ⚠️ 白名单操作失败
} else {
// ❗ 其他错误
}🔒 notUninstallRulesSwitch — 设置禁止卸载开关
java
int notUninstallRulesSwitch(boolean enable)参数说明
| 参数 | 类型 | 说明 |
|---|---|---|
| enable | boolean | true 启用,false 关闭 |
返回值说明
| 返回值 | 说明 |
|---|---|
| 0 | 设置成功 |
| -2/-3/-4/-5 | 通用错误,见下表 |
典型场景代码
java
int result = panelSDK.notUninstallRulesSwitch(true);
if (result == 0) {
// ✅ 禁止卸载功能已启用
} else {
// ❗ 其他错误,参考错误码表
}🔒 addNotUninstallRules — 添加禁止卸载应用
java
ArrayList<StAppRule> addNotUninstallRules(StAppRule appRule)参数说明
| 参数 | 类型 | 说明 |
|---|---|---|
| appRule | StAppRule | 应用实例 |
返回值说明
| 返回值 | 说明 |
|---|---|
| ArrayList<StAppRule> | 添加成功后的禁止卸载列表,失败返回null |
典型场景代码
java
StAppRule appRule = new StAppRule();
appRule.setPackageName("com.example.app");
ArrayList<StAppRule> list = panelSDK.addNotUninstallRules(appRule);
if (list != null) {
// ✅ 添加成功,当前禁止卸载应用数:${list.size()}
} else {
// ❗ 添加失败
}🔒 removeNotUninstallRules — 移除禁止卸载应用
java
ArrayList<StAppRule> removeNotUninstallRules(StAppRule appRule)参数说明
| 参数 | 类型 | 说明 |
|---|---|---|
| appRule | StAppRule | 应用实例 |
返回值说明
| 返回值 | 说明 |
|---|---|
| ArrayList<StAppRule> | 移除成功后的禁止卸载列表,失败返回null |
典型场景代码
java
StAppRule appRule = new StAppRule();
appRule.setPackageName("com.example.app");
ArrayList<StAppRule> list = panelSDK.removeNotUninstallRules(appRule);
if (list != null) {
// ✅ 移除成功,当前禁止卸载应用数:${list.size()}
} else {
// ❗ 移除失败
}🔒 getNotUninstallList — 获取禁止卸载应用列表
java
ArrayList<StAppRule> getNotUninstallList()返回值说明
| 返回值 | 说明 |
|---|---|
| ArrayList<StAppRule> | 当前所有禁止卸载应用 |
典型场景代码
java
ArrayList<StAppRule> list = panelSDK.getNotUninstallList();
if (list != null && !list.isEmpty()) {
// ✅ 获取成功,禁止卸载应用数:${list.size()}
} else {
// ❗ 列表为空或获取失败
}🔒 isEnableNotUninstallRules — 检查禁止卸载功能是否启用
java
boolean isEnableNotUninstallRules()返回值说明
| 返回值 | 说明 |
|---|---|
| true/false | true 启用,false 未启用或失败 |
典型场景代码
java
boolean enabled = panelSDK.isEnableNotUninstallRules();
if (enabled) {
// ✅ 禁止卸载功能已启用
} else {
// ❗ 禁止卸载功能未启用
}🔒 clearNotUninstallRules — 清空禁止卸载列表
java
int clearNotUninstallRules()返回值说明
| 返回值 | 说明 |
|---|---|
| 0 | 清空成功 |
典型场景代码
java
int result = panelSDK.clearNotUninstallRules();
if (result == 0) {
// ✅ 禁止卸载列表已清空
} else {
// ❗ 操作失败
}🤫 silentInstallRulesSwitch — 设置静默安装开关
java
int silentInstallRulesSwitch(boolean enable)参数说明
| 参数 | 类型 | 说明 |
|---|---|---|
| enable | boolean | true 启用,false 关闭 |
返回值说明
| 返回值 | 说明 |
|---|---|
| 0 | 设置成功 |
| -2/-3/-4/-5 | 通用错误,见下表 |
典型场景代码
java
int result = panelSDK.silentInstallRulesSwitch(true);
if (result == 0) {
// ✅ 静默安装功能已启用
} else {
// ❗ 其他错误,参考错误码表
}🤫 addSilentInstallRules — 添加静默安装应用
java
ArrayList<StAppRule> addSilentInstallRules(StAppRule appRule)参数说明
| 参数 | 类型 | 说明 |
|---|---|---|
| appRule | StAppRule | 应用实例 |
返回值说明
| 返回值 | 说明 |
|---|---|
| ArrayList<StAppRule> | 添加成功后的静默安装列表,失败返回null |
典型场景代码
java
StAppRule appRule = new StAppRule();
appRule.setPackageName("com.example.app");
ArrayList<StAppRule> list = panelSDK.addSilentInstallRules(appRule);
if (list != null) {
// ✅ 添加成功,当前静默安装应用数:${list.size()}
} else {
// ❗ 添加失败
}🤫 removeSilentInstallRules — 移除静默安装应用
java
ArrayList<StAppRule> removeSilentInstallRules(StAppRule appRule)参数说明
| 参数 | 类型 | 说明 |
|---|---|---|
| appRule | StAppRule | 应用实例 |
返回值说明
| 返回值 | 说明 |
|---|---|
| ArrayList<StAppRule> | 移除成功后的静默安装列表,失败返回null |
典型场景代码
java
StAppRule appRule = new StAppRule();
appRule.setPackageName("com.example.app");
ArrayList<StAppRule> list = panelSDK.removeSilentInstallRules(appRule);
if (list != null) {
// ✅ 移除成功,当前静默安装应用数:${list.size()}
} else {
// ❗ 移除失败
}🤫 getSilentInstallList — 获取静默安装应用列表
java
ArrayList<StAppRule> getSilentInstallList()返回值说明
| 返回值 | 说明 |
|---|---|
| ArrayList<StAppRule> | 当前所有静默安装应用 |
典型场景代码
java
ArrayList<StAppRule> list = panelSDK.getSilentInstallList();
if (list != null && !list.isEmpty()) {
// ✅ 获取成功,静默安装应用数:${list.size()}
} else {
// ❗ 列表为空或获取失败
}🤫 isEnableSilentInstallRules — 检查静默安装功能是否启用
java
boolean isEnableSilentInstallRules()返回值说明
| 返回值 | 说明 |
|---|---|
| true/false | true 启用,false 未启用或失败 |
典型场景代码
java
boolean enabled = panelSDK.isEnableSilentInstallRules();
if (enabled) {
// ✅ 静默安装功能已启用
} else {
// ❗ 静默安装功能未启用
}🤫 clearSilentInstallRules — 清空静默安装列表
java
int clearSilentInstallRules()返回值说明
| 返回值 | 说明 |
|---|---|
| 0 | 清空成功 |
典型场景代码
java
int result = panelSDK.clearSilentInstallRules();
if (result == 0) {
// ✅ 静默安装列表已清空
} else {
// ❗ 操作失败
}🚀 installAutoStartSwitch — 设置安装后自动启动开关
java
int installAutoStartSwitch(boolean enable)参数说明
| 参数 | 类型 | 说明 |
|---|---|---|
| enable | boolean | true 启用,false 关闭 |
返回值说明
| 返回值 | 说明 |
|---|---|
| 0 | 设置成功 |
| -2/-3/-4/-5 | 通用错误,见下表 |
典型场景代码
java
int result = panelSDK.installAutoStartSwitch(true);
if (result == 0) {
// ✅ 安装后自动启动功能已启用
} else {
// ❗ 其他错误,参考错误码表
}🚀 addInstallAutoStartRules — 添加安装后自动启动应用
java
ArrayList<StAppRule> addInstallAutoStartRules(StAppRule appRule)参数说明
| 参数 | 类型 | 说明 |
|---|---|---|
| appRule | StAppRule | 应用实例 |
返回值说明
| 返回值 | 说明 |
|---|---|
| ArrayList<StAppRule> | 添加成功后的自动启动列表,失败返回null |
典型场景代码
java
StAppRule appRule = new StAppRule();
appRule.setPackageName("com.example.app");
ArrayList<StAppRule> list = panelSDK.addInstallAutoStartRules(appRule);
if (list != null) {
// ✅ 添加成功,当前自动启动应用数:${list.size()}
} else {
// ❗ 添加失败
}🚀 removeInstallAutoStartRules — 移除安装后自动启动应用
java
ArrayList<StAppRule> removeInstallAutoStartRules(StAppRule appRule)参数说明
| 参数 | 类型 | 说明 |
|---|---|---|
| appRule | StAppRule | 应用实例 |
返回值说明
| 返回值 | 说明 |
|---|---|
| ArrayList<StAppRule> | 移除成功后的自动启动列表,失败返回null |
典型场景代码
java
StAppRule appRule = new StAppRule();
appRule.setPackageName("com.example.app");
ArrayList<StAppRule> list = panelSDK.removeInstallAutoStartRules(appRule);
if (list != null) {
// ✅ 移除成功,当前自动启动应用数:${list.size()}
} else {
// ❗ 移除失败
}🚀 getInstallAutoStartRules — 获取安装后自动启动应用列表
java
ArrayList<StAppRule> getInstallAutoStartRules()返回值说明
| 返回值 | 说明 |
|---|---|
| ArrayList<StAppRule> | 当前所有自动启动应用 |
典型场景代码
java
ArrayList<StAppRule> list = panelSDK.getInstallAutoStartRules();
if (list != null && !list.isEmpty()) {
// ✅ 获取成功,自动启动应用数:${list.size()}
} else {
// ❗ 列表为空或获取失败
}🚀 isEnableInstallAutoStartRules — 检查安装后自动启动功能是否启用
java
boolean isEnableInstallAutoStartRules()返回值说明
| 返回值 | 说明 |
|---|---|
| true/false | true 启用,false 未启用或失败 |
典型场景代码
java
boolean enabled = panelSDK.isEnableInstallAutoStartRules();
if (enabled) {
// ✅ 安装后自动启动功能已启用
} else {
// ❗ 安装后自动启动功能未启用
}🚀 clearInstallAutoStartRules — 清空安装后自动启动列表
java
int clearInstallAutoStartRules()返回值说明
| 返回值 | 说明 |
|---|---|
| 0 | 清空成功 |
典型场景代码
java
int result = panelSDK.clearInstallAutoStartRules();
if (result == 0) {
// ✅ 安装后自动启动列表已清空
} else {
// ❗ 操作失败
}🔑 signatureInstallSwitch — 设置签名限制白名单开关
java
int signatureInstallSwitch(boolean enable)参数说明
| 参数 | 类型 | 说明 |
|---|---|---|
| enable | boolean | true 启用,false 关闭 |
返回值说明
| 返回值 | 说明 |
|---|---|
| 0 | 设置成功 |
| -2/-3/-4/-5 | 通用错误,见下表 |
典型场景代码
java
int result = panelSDK.signatureInstallSwitch(true);
if (result == 0) {
// ✅ 签名限制功能已启用
} else {
// ❗ 其他错误,参考错误码表
}🔑 addSignatureInstallRules — 添加签名限制规则
java
ArrayList<StSignatureRule> addSignatureInstallRules(StSignatureRule signatureRule)参数说明
| 参数 | 类型 | 说明 |
|---|---|---|
| signatureRule | StSignatureRule | 签名规则实例 |
返回值说明
| 返回值 | 说明 |
|---|---|
| ArrayList<StSignatureRule> | 添加成功后的签名规则列表,失败返回null |
典型场景代码
java
StSignatureRule rule = new StSignatureRule();
rule.setSignature("your_signature_here");
ArrayList<StSignatureRule> list = panelSDK.addSignatureInstallRules(rule);
if (list != null) {
// ✅ 添加成功,当前签名规则数:${list.size()}
} else {
// ❗ 添加失败
}🔑 removeSignatureInstallRules — 移除签名限制规则
java
ArrayList<StSignatureRule> removeSignatureInstallRules(StSignatureRule signatureRule)参数说明
| 参数 | 类型 | 说明 |
|---|---|---|
| signatureRule | StSignatureRule | 签名规则实例 |
返回值说明
| 返回值 | 说明 |
|---|---|
| ArrayList<StSignatureRule> | 移除成功后的签名规则列表,失败返回null |
典型场景代码
java
StSignatureRule rule = new StSignatureRule();
rule.setSignature("your_signature_here");
ArrayList<StSignatureRule> list = panelSDK.removeSignatureInstallRules(rule);
if (list != null) {
// ✅ 移除成功,当前签名规则数:${list.size()}
} else {
// ❗ 移除失败
}🔑 getSignatureInstallRules — 获取签名限制规则列表
java
ArrayList<StSignatureRule> getSignatureInstallRules()返回值说明
| 返回值 | 说明 |
|---|---|
| ArrayList<StSignatureRule> | 当前所有签名规则 |
典型场景代码
java
ArrayList<StSignatureRule> list = panelSDK.getSignatureInstallRules();
if (list != null && !list.isEmpty()) {
// ✅ 获取成功,签名规则数:${list.size()}
} else {
// ❗ 列表为空或获取失败
}🔑 isEnableSignatureInstallRules — 检查签名限制功能是否启用
java
boolean isEnableSignatureInstallRules()返回值说明
| 返回值 | 说明 |
|---|---|
| true/false | true 启用,false 未启用或失败 |
典型场景代码
java
boolean enabled = panelSDK.isEnableSignatureInstallRules();
if (enabled) {
// ✅ 签名限制功能已启用
} else {
// ❗ 签名限制功能未启用
}🔑 clearSignatureInstallRules — 清空签名限制规则
java
int clearSignatureInstallRules()返回值说明
| 返回值 | 说明 |
|---|---|
| 0 | 清空成功 |
典型场景代码
java
int result = panelSDK.clearSignatureInstallRules();
if (result == 0) {
// ✅ 签名限制规则已清空
} else {
// ❗ 操作失败
}🧾 安装相关错误码 · 分组速查
| 错误码 | 类型 | 说明 |
|---|---|---|
0 | 成功 | 操作成功 |
-1 | 通用 | 未知错误 |
-2 | 通用 | 设备不支持该功能 |
-3 | 通用 | SDK版本不支持该功能 |
-4 | 通用 | 写入系统设置失败 |
-5 | 通用 | 服务未启动 |
-601 | 安装 | 白名单添加失败 |
-602 | 安装 | 白名单移除失败 |
| 其他 | 更多错误码请参考 StErrorCode.md |
⚡ 专业进阶 · 技术要点
所有方法均为同步调用,返回值可直接判断结果,适合批量自动化脚本。 推荐在具备系统权限的环境下调用,部分功能需 Root 或系统签名。 依赖底层
StInstallManager,请确保相关依赖已集成并兼容目标设备。 支持企业级批量部署、远程应用分发、策略管控。
🏆 专业总结
只需一个
PanelSDK实例,应用安装与多维策略管理一站式搞定。无论是批量运维、自动化部署还是安全策略,InstallManager 模块让你的设备管理更高效、更安全!
