3

他のアプリケーションへのアクセスを管理するアプリケーションを作成しています。ユーザーは、デバイスでブロックするアプリを決定できます。誰かがブロックされたアプリを開始すると、ブロックについて通知する画面が表示されます。現在開いているアクティビティがブロックされているかどうかを確認する独自のランチャーとバックグラウンド プロセスがあります。トップ アクティビティを確認するには、ActivityManager getRunningTasks(); のパッケージ名とクラス名を使用します。このアプリがブロックされている場合は、WindowManager に追加して独自のビューでカバーします。これは、facebook のチャット ヘッドや LG が提供するマルチタスキングのような WindowManager を使用するアプリ (QSLIDE) を除いて、すべてのアプリで機能します。このアプリケーションは一番上にありません。もちろん、getRunningAppProcesses を使用して彼女のプロセスを見つけることはできますが、それを強制終了することはできません。Android.os.Process.killprocess も機能しません。私はこれが良い考えではないことを知っていますが、私は他のものを持っていません.

一部のアプリが WindowManager に何かを追加したことを認識し、最終的にそれをブロックする可能性はありますか? または、ビューを削除するか、アプリを強制終了しますか?

4

1 に答える 1

0

Facebook (および他の多くのアプリ) は、SYSTEM_ALERT を使用して Window に描画し、小さなチャット ヘッドを管理します。これを書いている時点 (6.0.1) では、追加されるビューをリッスンしたり、そのビューに関する情報を収集したりする API はありません。

于 2016-06-24T00:47:46.230 に答える