448993299
448993299
  • 发布:2016-10-18 19:28
  • 更新:2018-01-05 21:09
  • 阅读:5331

没人提过的问题:因为业务需求,希望APP禁止截屏和拍照

分类:HBuilder

因为业务需求,希望APP禁止截屏和拍照,请问怎么在技术上实现。 不要跟我说无法实现,我用过别人成熟的APP产品,是一个很常规的功能,N年前就实现了。我现在还在用,就是想自己开发一个,不用再付费使用别人的APP了。

2016-10-18 19:28 负责人:无 分享
已邀请:
448993299

448993299 (作者)

看来我这需求又超出大多数人的日常应用范畴。

huanmengmie@163.com

huanmengmie@163.com - 90后

<script type="text/javascript">  
    // 监听plusready事件    
    document.addEventListener( "plusready", function(){  
        // 扩展API加载完毕,现在可以正常调用扩展API  
        // 导入android.content.Intent类对象  
        var activity = plus.android.runtimeMainActivity();  
        /*activity.getWindow()*/  
        // 导入后可以使用new方法创建类的实例对象  
        plus.android.invoke(plus.android.invoke(activity,"getWindow"),"addFlags",0x00002000);  
    }, false );  
</script>
  • huanmengmie@163.com

    不要在意那些注释,只是随便拷贝的例子,安卓可用

    2018-01-05 18:00

  • 下雨咯

    赞一下

    2018-01-23 08:58

  • 102161596@qq.com

    这个是禁止截屏,那开启又是怎么操作,大神

    2019-06-21 10:21

  • 719617315@qq.com

    回复 102161596@qq.com: clearFlags 就OK了哦, plus.android.invoke(plus.android.invoke(activity, "getWindow"), "clearFlags", 0x00002000);

    2019-10-29 15:09

  • lancetest

    回复 719617315@qq.com: 为什么我得执行会报错


    [JS Framework] Failed to execute the callback function:

    23:45:25.108 android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.;at com.android.internal.policy.impl.PhoneWindow.addFlags

    23:45:25.210 reportJSException >>>> exception function:WEEX_CALL_JAVASCRIPT, exception:JavaScript execute error!android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.;at com.android.internal.policy.impl.PhoneWindow.addFlags

    23:45:25.230 getTemplateInfo== template md5 b7e83db7e3dd9cb3cbf4d638f5e74625 length 3546550 base64 md5 t+g9t+PdnLPL9NY49edGJQ== response header {"templateSourceBase64MD5":["t+g9t+PdnLPL9NY49edGJQ=="],"templateSourceMD5":["b7e83db7e3dd9cb3cbf4d638f5e74625"]}

    2019-12-20 11:00

DCloud_heavensoft

DCloud_heavensoft

你可以轮询检测相册,把指定的图片删了。
禁止拍照这个不太可能,难道前摄像头一直开着,图像识别有另一部手机对着自己就黑屏?

448993299

448993299 (作者)

1、禁止拍照的问题:把本机的相机权限禁用即可。 我们的应用场景是一个固定的场所,所有人进去后带的IPHONE或者PAD,都需要装我的APP,并且只在局域网里使用。 如果2个人串通,一个退出APP,然后拍另外一个,这是没法禁止,但我们有人巡查,不让拍照的。

2、关于截屏的问题:你给的是一种解决思路。我听说过另外2种解决思路:1、监听截屏时间,中间拦截保存或者把保存的图片替换。 2、使用xcode打包,修改.plist文件,设置allowScreenshot 为 false。
想听听你们建议,这2种那种更方便实现。

448993299

448993299 (作者)

"监听截屏时间" 手误 是“监听截屏事件”

梁大路

梁大路

禁用摄像头即可,截屏的话跟系统底层相关,每个ui厂有自己的实现,弄起来很麻烦,mui估计不会帮你弄的,

448993299

448993299 (作者)

我再纠正下 IOS的禁用,应该不是在.plist文件里。我看了https://developer.apple.com/library/content/featuredarticles/iPhoneConfigurationProfileRef/Introduction/Introduction.html 这篇文章 "Configuration Profile" 描述到底是个啥玩意,有点糊涂了

  • 下雨咯

    配置文件应该就是plist

    2018-01-23 09:06

  • 下雨咯

    A configuration profile is an XML file that allows you to distribute configuration information. If you need to configure a large number of devices or to provide lots of custom email settings, network settings, or certificates to a large number of devices, configuration profiles are an easy way to do it.

    2018-01-23 09:09

zhang益达

zhang益达

一般政府项目都会有应用防截屏的需求的,貌似H5是实现不了的,可能需要mui官方在底层支持了。

1137298189@qq.com

1137298189@qq.com

http://ask.dcloud.net.cn/article/12874

448993299

448993299 (作者)

苹果系统已经OK,不是通过APP禁止(APP退出后就能现场拍照,不符合实际应用。),而是需要独立安装苹果证书。android不知道怎么弄。

dadadasdad

dadadasdad

可以弄的,mui有没有对底层实现没去了解,我是自己加第三方sdk实现,不难,参考支付宝的扫码支付,支付宝打开扫码截图不了,不过有些手机支持,这个是我写的博客地址,你参考下:https://my.oschina.net/u/3198986824/blog/19898671

  • Reinhardt

    你这个链接打开404啊

    2017-10-30 15:04

Reinhardt

Reinhardt

厉害了,我们也有这个需求。
关注下。

该问题目前已经被锁定, 无法添加新回复