2016-12-22 6 views
1

私はそれに合わせて実行できるアプリを制限する必要があるアプリを開発しています。Androidはプログラマティックに実行できるアプリを制限する

私のアプリが実行中(フォアグラウンドまたはバックグラウンド)の場合、ユーザーはGoogleMapsとMusicPlayerだけを実行できます。

私は少しだけDevice Policy Controllerを読んでプロファイルを作成しましたが、必要な機能を備えているようですが、エンタープライズ展開用に設計されており、ユーザーは事前に電話機を暗号化する必要があります。パーソナライズされたプロファイルを作成する方法はありますか?

私のもう1つのアイデアは、禁止されたアプリケーションが実行されて終了しているかどうかを数ミリ秒ごとにチェックするサービスを実行することでしたが、堅牢ではないようです。

プログラムでこの問題を処理する方法はありますか?

+0

これを行うにはいくつかの方法があります。例えばアクセシビリティサービスを使用して、他のアプリの前でアプリを起動することができます。しかし、ユースケースは何ですか? – Keilaron

答えて

1

私はデバイスポリシーコントローラがあなたにとって正しいとは思いません。 あなたはroot以外の他のアプリを殺すことはできません。

目的を達成するためのある種の方法は、実行中のアプリリストをActivityManager.getRunningAppProcessesで確認し、アプリを使用するために特定のアプリを終了する必要があることをユーザーに通知することです。

+0

あなたの答えをありがとう。私はそれが私のアプリを起動すると大丈夫だろうと思うが、私はもう少し必要があります。私は、私のアプリケーションが実行されている状態を防ぐ必要があり、ユーザーは禁止されたアプリケーションの1つを起動しようとします。それを行う方法はありますか?タブレットには、許可されていないアプリを「隠す」ユーザープロフィールがあります。これは私が得たい効果です。そのようなことは、どのモバイルデバイスでもできますし、アプリで行うことはできますか? – Mohru

+1

他の方法はないようです。しかし、Android 5.0以降では、 'ActivityManager'の代わりに' UsageStatsManager'を使用する必要があります。 – Mohru

関連する問題