私はCrosswalk WebViewでスクリーンショットを撮ることを防止しようとしています。私はPrivacyScreenPluginを試しました。このプラグインは、Crosswalkプラグインを使用していないときにとてもうまく動作します。ただし、Crosswalkプラグインを追加した場合、アプリ起動時にのみ動作します。
たとえば、アプリを起動すると、スクリーンショットを撮ることができません。しかし、他のUIコンポーネント(音量コントロールなど)を表示すると、私のアプリはスクリーンショットを撮ることができます。Android Crosswalk WebViewでスクリーンショットを撮るのを防ぐ方法を教えてください。
私はthisを見つけました。私がCrosswalkを使用する場合は、PrivacyScreenPlugin/Crosswalkを変更する必要があります。
これは私が試したものです:
Crosswalk WebViewプラグインでは、XwalkWebViewEngine#initメソッド。
cordova.getActivity().getWindow().setFlags(WindowManager.LayoutParams.FLAG_SECURE, WindowManager.LayoutParams.FLAG_SECURE);
ただし、上記のコードでは問題が解決されませんでした。
そして、私はPrivacyScreenPluginで修正する場所を見つけることができませんでした。
私は、次のAndroidのバージョンとプラグインの使用しています:1.6.1
プラグインのAndroid 5.0.2
- を。
悲しいことに、Crosswalkチームは解決策「Will not Fix」で「解決済み」とマークしていますので、回避策はそれほど一時的ではありません:-(でも、少なくともこの解決策はまだCrosswalk 22として動作します。 – rob3c
Crosswalkはバージョン23以降は保守されていないため、スクリーンショットを防止するための唯一の回避策となっています。 – Fugue