私は、特定のアプリケーションだけを起動できるサンドボックス環境を構築しようとしています。特定のアプリをAndroidで起動できないように制限するにはどうすればよいですか?
私は当初、実行中のすべてのアプリケーションをバックグラウンドでポーリングして、実行中のアプリケーションを確認してから、whtielist以外のものを強制終了することにしました。しかし、私はアクティブなタスクではなく、バックグラウンドプロセスだけを殺すことができることを発見しました。
これを行うことができますか?
私は、特定のアプリケーションだけを起動できるサンドボックス環境を構築しようとしています。特定のアプリをAndroidで起動できないように制限するにはどうすればよいですか?
私は当初、実行中のすべてのアプリケーションをバックグラウンドでポーリングして、実行中のアプリケーションを確認してから、whtielist以外のものを強制終了することにしました。しかし、私はアクティブなタスクではなく、バックグラウンドプロセスだけを殺すことができることを発見しました。
これを行うことができますか?
これを実行する唯一の方法は、プラットフォームの署名キーがある場合です。 「アクティビティウォッチャー」(プラットフォームの署名鍵で署名する必要があるandroid.permission.SET_ACTIVITY_WATCHERが必要)を実装すると、新しいアクティビティが開始される前に通知を受け、開始できないようにすることができます。
悪意のあるコードのあまりにも多くの自由を与えるので、これを一般的に行う方法はありません。
セキュリティ上の理由からアプリの信頼性の高い方法でこれを行うことはできないようです。あなたが深刻な場合は、Androidがオープンソースであると見なすOS自体をカスタマイズすることは可能でしょうが、それはかなり関与している作業です。あなたがこれをやろうとしている理由に関する詳細は?
特定のアプリのみを起動できるサンドボックス環境を構築しようとしています。
独自のファームウェアを作成します。
または、ストップギャップとして、設定アプリにアクセスできない独自のホーム画面を作成して、アプリケーションのインストールを防ぐことができます。賢明なユーザーは、セーフモードでデバイスを再起動し、ファームウェアのホーム画面に戻ります。そのため、実際のソリューションは独自のファームウェアを作成することになります。