2017-07-17 9 views
1

現在、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 +

のために推奨されません。
+0

エラーの完全なログを追加してください。 –

+0

あなたのstackTraceをシェアしよう –

答えて

0

あなたのマニフェストにこの権限を追加してください。

<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" /> 
関連する問題