Ice Box SDK を使うと、Ice Box がインストールされて有効化されている端末で、サードパーティ製アプリがアプリを凍結・解凍できるようになります。Device Owner モードでは、APK のサイレントインストールとアンインストールもできます。
ソースコードと詳しいドキュメント:github.com/heruoxin/IceBox-SDK
必要なバージョン#
- 凍結と解凍:Ice Box 3.6.0 以降。
- サイレントインストールとアンインストール:Ice Box 3.9.5 以降で、Ice Box が Device Owner モードで動作していること。
権限#
凍結、解凍、APK のインストールなどの操作系 API を使うには、先にユーザーに Ice Box SDK の権限をリクエストする必要があります。照会系 API には権限は必要ありません。
if (ContextCompat.checkSelfPermission(this, IceBox.PERMISSION) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this, new String[]{IceBox.PERMISSION}, 0x233);
}主な API#
動作モードを照会する#
Ice Box は、pm disable-user と pm hide のどちらかの凍結方式で動作している可能性があります。権限は不要です。
IceBox.WorkMode workMode = IceBox.queryWorkMode(context);アプリの凍結状態を照会する#
正常(凍結されていない状態)、pm disable による凍結、pm hide による凍結、またはその両方のいずれかを返します。権限は不要です。
IceBox.getAppEnabledSetting(context, packageName);アプリを凍結・解凍する#
権限が必要です。一括操作に対応しています。
IceBox.setAppEnabledSettings(context, enable, packageNames);サイレントインストールとアンインストール#
Ice Box が Device Owner モードで動作しているときに使えます。現在対応しているかどうかは、先に次の方法で照会できます:
IceBox.querySupportSilentInstall(context);API のすべての引数と戻り値については、GitHub のドキュメントの記載に従ってください。
透明性と許可#
サードパーティ製アプリが Ice Box を通じて行った凍結、インストール、アンインストールの操作はすべて Ice Box のログセンター(「SDK Log」)に記録され、ユーザーはいつでも確認できます。
その他の連携方法#
- 「Configure in other Apps」(ほかのアプリで設定):Ice Box は Android の
android.intent.action.SHOW_APP_INFOに対応しており、Greenify や AppOps などのアプリと連携できます。 - Island:Ice Box は Island の権限で動作できるほか、Island の仕事用プロファイルにインストールして使うこともできます。
解決しない場合はよくある質問をご覧いただくか、Ice Box の「Feedback」からメールでお問い合わせください。