Skip to content

📦⚡ 安装管理(InstallManager)模块 · 开发者指南


🧠 模块介绍

安装管理模块,用于批量安装、卸载、白名单/静默安装/签名限制等多维度应用管理,支持企业级自动化运维和安全策略。


🛠️ PanelSDK 初始化

java
// 推荐在 Application 或 Activity 中初始化,确保全局唯一
PanelSDK panelSDK = new PanelSDK(this);

🧩 核心方法 · 专业解读

✅ whiteRulesSwitch — 设置应用白名单开关

java
int whiteRulesSwitch(boolean enable)
参数说明
参数类型说明
enablebooleantrue 启用,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)
参数说明
参数类型说明
appRuleStAppRule应用实例
返回值说明
返回值说明
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)
参数说明
参数类型说明
appRuleStAppRule应用实例
返回值说明
返回值说明
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/falsetrue 启用,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)
参数说明
参数类型说明
enablebooleantrue 启用,false 关闭
返回值说明
返回值说明
0设置成功
-2/-3/-4/-5通用错误,见下表
典型场景代码
java
int result = panelSDK.notUninstallRulesSwitch(true);
if (result == 0) {
    // ✅ 禁止卸载功能已启用
} else {
    // ❗ 其他错误,参考错误码表
}

🔒 addNotUninstallRules — 添加禁止卸载应用

java
ArrayList<StAppRule> addNotUninstallRules(StAppRule appRule)
参数说明
参数类型说明
appRuleStAppRule应用实例
返回值说明
返回值说明
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)
参数说明
参数类型说明
appRuleStAppRule应用实例
返回值说明
返回值说明
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/falsetrue 启用,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)
参数说明
参数类型说明
enablebooleantrue 启用,false 关闭
返回值说明
返回值说明
0设置成功
-2/-3/-4/-5通用错误,见下表
典型场景代码
java
int result = panelSDK.silentInstallRulesSwitch(true);
if (result == 0) {
    // ✅ 静默安装功能已启用
} else {
    // ❗ 其他错误,参考错误码表
}

🤫 addSilentInstallRules — 添加静默安装应用

java
ArrayList<StAppRule> addSilentInstallRules(StAppRule appRule)
参数说明
参数类型说明
appRuleStAppRule应用实例
返回值说明
返回值说明
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)
参数说明
参数类型说明
appRuleStAppRule应用实例
返回值说明
返回值说明
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/falsetrue 启用,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)
参数说明
参数类型说明
enablebooleantrue 启用,false 关闭
返回值说明
返回值说明
0设置成功
-2/-3/-4/-5通用错误,见下表
典型场景代码
java
int result = panelSDK.installAutoStartSwitch(true);
if (result == 0) {
    // ✅ 安装后自动启动功能已启用
} else {
    // ❗ 其他错误,参考错误码表
}

🚀 addInstallAutoStartRules — 添加安装后自动启动应用

java
ArrayList<StAppRule> addInstallAutoStartRules(StAppRule appRule)
参数说明
参数类型说明
appRuleStAppRule应用实例
返回值说明
返回值说明
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)
参数说明
参数类型说明
appRuleStAppRule应用实例
返回值说明
返回值说明
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/falsetrue 启用,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)
参数说明
参数类型说明
enablebooleantrue 启用,false 关闭
返回值说明
返回值说明
0设置成功
-2/-3/-4/-5通用错误,见下表
典型场景代码
java
int result = panelSDK.signatureInstallSwitch(true);
if (result == 0) {
    // ✅ 签名限制功能已启用
} else {
    // ❗ 其他错误,参考错误码表
}

🔑 addSignatureInstallRules — 添加签名限制规则

java
ArrayList<StSignatureRule> addSignatureInstallRules(StSignatureRule signatureRule)
参数说明
参数类型说明
signatureRuleStSignatureRule签名规则实例
返回值说明
返回值说明
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)
参数说明
参数类型说明
signatureRuleStSignatureRule签名规则实例
返回值说明
返回值说明
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/falsetrue 启用,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 模块让你的设备管理更高效、更安全!