2016-05-19 21 views
2

私は、スクリーンキャストとscrenショットを無効にするためにFLAG_SECUREを使用しています。FLAG_SECUREがAutoCompleteTextViewポップアップのために機能していません

getWindow().setFlags(WindowManager.LayoutParams.FLAG_SECURE, WindowManager.LayoutParams.FLAG_SECURE); 

私は画面のPCに私のアプリをキャストしています私は黒い画面を見ることができますが、私はどのAutoCompleteTextViewを選択した場合、私はAutoCompleteTextViewポップアップを見ることができます。 FLAG_SECURE /を使用しているときは、このポップアップを表示しないでください。だから、この問題を解決する方法はありますか?

enter image description here
+0

これは別のウィンドウです。おそらく 'FLAG_SECURE'は子ウィンドウにカスケードされないか、すべての子ウィンドウにカスケードされません。あなたのアプリケーションにダイアログがある場合は、ダイアログも子ウィンドウを表すので、それらを試すこともできます。これに関する未解決のバグレポートは表示されません。どの端末をテストしていますか、Androidのどのバージョンを実行していますか? – CommonsWare

+0

osバージョン6.0.1でNexus 5を使用しています。スクリーンキャスティングにはvysorを使用しています。 – Vivart

+0

えええええええええええええええええええええええええええええええええええええええええええええええええええええんじんだんかんだんだんだんだんだんだんだんかんだんようおまえ、 – CommonsWare

答えて

3

Unfortunatately、Androidのフレームワークは、しばしば、このようなドロップダウンAutoCompleteTextViewのように、独自 Windowインスタンスを作成します。 アクティビティのWindowFLAG_SECUREを設定しても、 アクティビティの代わりに作成された他のウィンドウには、このフレームワークのフラグが渡されません。これは、AutoCompleteTextViewだけでなく、Spinner、アクションバーのオーバーフローメニューなどにも影響します。自分のウィンドウを表示するウィジェットや他のUI要素の

著者を行う必要があります。

  • は、これらの要素は、の一部である活動を調べ、その 活動は、その内容を保護するためにFLAG_SECUREを使用しているかどうかを確認します。そうである場合、 のように、そのアクティビティに代わって開くウィンドウには、アクティビティUIが完全に保護されるように、UIエレメントはFLAG_SECURE を適用する必要があります。

  • あるいは、UI要素が必要な場合FLAG_SECUREを適用できるように、公共 APIを介してWindowオブジェクトを公開する必要があります。

私は、問題の範囲についての詳細、およびいくつかの回避策、my CWAC-Security libraryで を持っています。

ありがとうございます!

関連する問題