通知が表示されているときにユーザーが許可を与えようとしていて、オーバーレイの問題が何であるかを正確に理解している場合は、Android の「画面オーバーレイが検出されました」というメッセージを既に読みました。
また、それをリクエストする方法と、現在実行中のアプリにオーバーレイを描画する権限があるかどうかを確認する方法も理解しています (!Settings.canDrawOverlays(this))。
許可要求がポップアップするたびにオーバーレイポップアップが表示され、ユーザーが私のアプリケーションにオーバーレイを描画する許可を与えたとしても、許可画面を通過できなかったため、私は自分のアプリを叱られていました。
掘り下げた後、問題は、一部のユーザーが画面で録音アプリを実行していたことでした。
問題は、これは私のアプリではないということです! これはオーバーレイとして実行される AZ スクリーン レコーダー (リンク) ですが、このポップアップが表示された時点でそれらが私のアプリにあるという事実のために、私は問題の責任を負っています。
オーバーレイとして何かを実行している他のアプリを確認する必要があることをユーザーに表示したいのですが、これを確認する方法がわかりません。
アプリケーションでオーバーレイを描画できるかどうかを確認できますが、他のアプリケーションを確認する方法がわかりません。
したがって、私の質問は、現在実行時にオーバーレイを実行しているアプリがあるかどうかをプログラムで確認する方法はありますか?もしそうなら、そのアプリのパッケージ名を見つけることができますか?
(追伸、私は問題のスクリーンレコーダーアプリに何の問題もありません。誰でもダウンロードしてテストできるようにリンクしたかっただけです)