首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何防止用户在安卓人行横道WebView中截图?

如何防止用户在安卓人行横道WebView中截图?
EN

Stack Overflow用户
提问于 2016-05-03 09:49:52
回答 2查看 1.3K关注 0票数 2

我试图阻止在人行横道WebView拍摄截图。我试过了PrivacyScreenPlugin。当我不使用人行横道插件时,这个插件工作得很好。然而,如果我添加了人行横道插件,它只能在应用程序启动时才能工作。

例如,当我启动我的应用程序时,我无法拍摄截图。然而,如果我显示任何其他UI组件(如卷控制等),我的应用程序就开始允许截图。

我发现了与相关的问题,有一个人提到,如果我使用人行横道,我需要修改PrivacyScreenPlugin/人行横道。

以下是我尝试过的:

在人行横道的WebView插件中,采用XwalkWebViewEngine#init方法。

代码语言:javascript
复制
cordova.getActivity().getWindow().setFlags(WindowManager.LayoutParams.FLAG_SECURE, WindowManager.LayoutParams.FLAG_SECURE);

然而,上面的代码并没有解决我的问题。

而且,我在PrivacyScreenPlugin中找不到修改的地方。

我正在使用以下Android版本和插件:

  • Android 5.0.2
  • 人行横道插件1.6.1
  • PrivacyScreenPlugin 0.2.0

如有任何意见,将不胜感激。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-05-06 01:14:16

根据的票。为了避免这个问题,有一个临时的解决办法。

在AndroidManifest.xml中:

替换

android:theme="@android:style/Theme.Black.NoTitleBar“

使用

android:theme="@android:style/Theme.Holo.Light.NoActionBar“

票数 2
EN

Stack Overflow用户

发布于 2017-07-24 22:26:04

这个解决办法对我来说很管用。它基本上深入到XWalkView创建的XWalkView并使其安全:

代码语言:javascript
复制
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
    ((SurfaceView)((FrameLayout)((FrameLayout) mXWalkView.getChildAt(0)).getChildAt(0)).getChildAt(0)).setSecure(true);
}

看上去很丑但很有魅力。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37000892

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档