現在、Android用のインターフェイスデバッグツールを開発していますが、その下に実行されているアプリケーションの上にオーバーレイされるシステム情報が表示されます。私は多くの異なるリソースをオンラインで見て、アプリケーションをFATAL EXCEPTION
でクラッシュさせて、android.permission.SYSTEM_ALERT_WINDOW
でマニフェストに必要なアクセス権を定義するアプリケーションをTYPE_APPLICATION_OVERLAY
に設定する基本的な手順に従っています。 Unable to add window android.view.ViewRootImpl$W...
-- permission denied for window type 2038
。ウィンドウを追加できません - フローティングビューを作成しようとすると拒否されました
問題を引き起こしている可能性のあることをさらに調査したところ、特定のバージョン以降、ユーザーがSettings.ACTION_MANAGE_OVERLAY_PERMISSION
経由で他のアプリを引き出すためのアクセス許可を明示的に設定する必要がありました。アクセス許可を他のアプリに引き継ぐことができますが、そのプロセスでも同じエラーが発生しました。
現在のところ、引き出し権限が付与されているかどうかを確認するためのアプリの設定はありますが、そうでない場合は設定するようユーザーに求めています。ユーザーが権限を有効にしていることを確認すると、サービスが呼び出され、ここでオーバーレイ表示を作成しようとします。
私はAndroid開発には比較的新しいので、アイディアや指導に感謝します!
更新:それはTYPE_PHONE
代わりのTYPE_APPLICATION_OVERLAY
を使用して、ウィンドウのLayoutParamを設定することにより、作業得ることができました。これはAndroid Nで動作していますが、このメソッドはAndroid O +
エラーの完全なログを追加してください。 –
あなたのstackTraceをシェアしよう –