如何在Android中的Cordova应用程序中禁用屏幕截图

本文概述

  • 要求
  • 禁用屏幕截图
  • 再次启用屏幕截图
  • 与iOS的兼容性
【如何在Android中的Cordova应用程序中禁用屏幕截图】你可能希望禁用屏幕快照, 以防止图像内容或视频等的复制。此任务在Java中很容易实现, 但是作为Cordova开发人员, 你可能想使用插件。
注意:如果需要对Android和iOS的支持, 请转至文章末尾的iOS支持插件标题。
要求 我们将需要cordova-ourcodeworld-preventscreenshots插件来动态禁用屏幕快照的权限。
要安装它, 请在node.js的命令提示符中执行以下命令:
cordova plugin add https://github.com/sdkcarlos/cordova-ourcodeworld-preventscreenshots.git

然后, 在javascript中, 你可以将插件与全局变量OurCodeWorldpreventscreenshots一起使用。此插件在Android中设置FLAG_SECURE标志(这也可以防止获取手动屏幕截图)。在此处阅读有关插件的更多信息。
禁用屏幕截图 要禁用应用程序中的屏幕截图, 请使用插件提供的disable方法。请注意, 脚本需要在cordova的deviceready事件之后的期间执行。
document.addEventListener("deviceready", function(){var successCallback = function(){console.log("The screenshots are not allowed now."); }; var errorCallback = function(err){console.error("An error ocurred : " + err); }; OurCodeWorldpreventscreenshots.disable(successCallback, errorCallback); }, false);

如果用户尝试拍摄快照, 则会显示一条消息, 警告你由于安全策略(如netflix或Google电影应用程序)现在允许执行该操作。
如何在Android中的Cordova应用程序中禁用屏幕截图

文章图片
如果从最近使用过的应用程序中看到该应用程序, 则背景为灰色。
如何在Android中的Cordova应用程序中禁用屏幕截图

文章图片
再次启用屏幕截图 该插件可让你动态地更改屏幕截图对你应用的权限。要再次启用屏幕截图, 请使用enable方法。
document.addEventListener("deviceready", function(){var successCallback = function(){console.log("The screenshots are allowed now again."); }; var errorCallback = function(err){console.error("An error ocurred : " + err); }; OurCodeWorldpreventscreenshots.enable(successCallback, errorCallback); }, false);

与iOS的兼容性 可惜的是, 我们的codeworld-cordova-preventscreenshots插件不支持iOS, 但是还有另一个插件同时支持Android和iOS, 但是你无法在动态上更改此功能。在此处阅读插件的文档。
安装以下插件以提供对iOS和Android的支持:
cordova plugin add cordova-plugin-privacyscreen # or phonegap local plugin add cordova-plugin-privacyscreen

请注意, 你无需执行任何操作即可安装插件, 因为它将在安装时自动配置。隐私将在你的应用程序中永久启用。
玩得开心

    推荐阅读