BasicManagedProfileサンプルをいじっていて、マネージド プロファイルのみにカスタム アプリをインストールしたいと考えています。簡単に Play ストアにアクセスし、アプリをダウンロードしてインストールできます。アプリは仕事用プロファイルのアプリにのみ表示されます。
ただし、デバイスから apk をインストールする標準的なインテントの方法を使用しても機能しないようです。
final Intent intent = new Intent(Intent.ACTION_INSTALL_PACKAGE);
intent.setDataAndType(Uri.fromFile(new File(APK_LOC)), "application/vnd.android.package-archive");
intent.putExtra(Intent.EXTRA_NOT_UNKNOWN_SOURCE, true);
intent.putExtra(Intent.EXTRA_INSTALLER_PACKAGE_NAME, getPackageName());
startActivityForResult(intent, REQUEST_INSTALL, null);
通常どおり、「不明なソースからインストールする」セキュリティ設定が有効になっていない場合は、設定アプリに移動して有効にするダイアログがポップアップ表示されます. ただし、マネージド プロファイル アプリでは、セキュリティ設定がオンになっているかどうかに関係なく、このダイアログが常にポップアップします。設定が管理プロファイルに反映されていないようです (完全に別の設定データベースであるため、これは理にかなっています)。
設定アプリを直接開いてみましたが、やはり同じです。管理プロファイル設定アプリではなく、標準設定アプリに移動するだけです。
管理プロファイルのこのセキュリティ設定を変更したり、プロファイル所有者アプリからアプリをインストールしたりする方法はありますか? 私のアプリはプロファイルの所有者であるため、これを許可する必要があるようです。システム アプリケーションでは簡単に実行できますが、サード パーティのアプリではこのDevicePolicyManager#enableSystemApp()
方法は機能しません。
編集:
また、Manage Profile Gmail アプリからインストールしようとしました。同じこと。管理対象のプロファイルでは、Google Play ストア以外のアプリをインストールすることはできないようです。