冰箱 SDK 可以在已安裝並啟用了冰箱的裝置上,為第三方 App 提供凍結和解凍 App 的能力。在設備管理員模式下,還可以靜默安裝和移除 APK。
原始碼與完整文件:github.com/heruoxin/IceBox-SDK
版本要求#
- 凍結和解凍:冰箱 3.6.0 及以上。
- 靜默安裝和移除:冰箱 3.9.5 及以上,並且冰箱執行在設備管理員模式下。
權限#
凍結、解凍和安裝 APK 等操作類介面,需要先向使用者請求冰箱 SDK 的權限;查詢類介面不需要權限。
if (ContextCompat.checkSelfPermission(this, IceBox.PERMISSION) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this, new String[]{IceBox.PERMISSION}, 0x233);
}主要介面#
查詢工作模式#
冰箱可能工作在 pm disable-user 或 pm hide 兩種凍結方式下,不需要權限。
IceBox.WorkMode workMode = IceBox.queryWorkMode(context);查詢 App 的凍結狀態#
返回正常、pm disable 凍結、pm hide 凍結或兩者兼有,不需要權限。
IceBox.getAppEnabledSetting(context, packageName);凍結或解凍 App#
需要權限,支援批次操作。
IceBox.setAppEnabledSettings(context, enable, packageNames);靜默安裝與移除#
冰箱執行在設備管理員模式下時可用。可以先查詢當前是否支援:
IceBox.querySupportSilentInstall(context);介面的完整引數與返回值,請以 GitHub 上的文件為準。
透明與授權#
第三方 App 透過冰箱進行的凍結、安裝和移除操作,都會記錄在冰箱的日誌中心裡,使用者可以隨時檢視。
其他聯動方式#
- 在其他應用中配置:冰箱支援 Android 的
android.intent.action.SHOW_APP_INFO,可以與 Greenify、AppOps 等應用聯動。 - 煉妖壺 Island:冰箱可以透過 Island 的權限工作,也可以安裝在 Island 的工作資料中使用。
沒有找到答案?可以看看常見問題,或在冰箱內透過「回饋」傳送郵件。