本文概述
- 要求
- 禁用屏幕截图
- 再次启用屏幕截图
- 与iOS的兼容性
注意:如果需要对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电影应用程序)现在允许执行该操作。
文章图片
如果从最近使用过的应用程序中看到该应用程序, 则背景为灰色。
文章图片
再次启用屏幕截图 该插件可让你动态地更改屏幕截图对你应用的权限。要再次启用屏幕截图, 请使用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
请注意, 你无需执行任何操作即可安装插件, 因为它将在安装时自动配置。隐私将在你的应用程序中永久启用。
玩得开心
推荐阅读
- 如何用Cordova创建文件
- 如何用Cordova删除文件
- 如何在Cordova应用程序中在Android上启用实质性本机主题
- 如何加密(保护)Android Cordova应用程序的源代码
- 如何在Android的Cordova应用程序中启用移动到SD卡功能
- 如何使用Cordova生成和扫描二维码
- 如何清理我的Android模拟器中不需要的应用程序()
- 没有USB设备android studio 3.1.3
- Android模拟器没有显示画布绘图