Как отключить скриншоты в приложении Cordova в Android

Возможно, вы захотите отключить снимки экрана, чтобы предотвратить копирование содержимого изображения или видео и т. Д. Эту задачу легко выполнить в Java, однако, как разработчик Cordova, вы можете вместо этого использовать плагин.

Замечания : Если вам нужна поддержка Android и iOS, вместо этого перейдите к заголовку плагина поддержки iOS в конце статьи.

Требования

Нам понадобится cordova-ourcodeworld-preventscreenshots Плагин для динамического отключения разрешения скриншотов.

Чтобы установить его, выполните следующую команду в командной строке node.js:

cordova plugin add https://github.com/sdkcarlos/cordova-ourcodeworld-preventscreenshots.git

Тогда в javascript вы сможете использовать плагин с глобальной переменной OurCodeWorldpreventscreenshots, Этот плагин устанавливает флаг FLAG_SECURE в Android (что также предотвращает создание снимков экрана вручную). Подробнее о плагине читайте здесь.

Отключить скриншоты

Чтобы отключить скриншоты в вашем приложении, используйте метод отключения, предоставляемый плагином. Обратите внимание, что сценарий должен быть выполнен во время или после 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 Movies.

Предотвратить скриншоты андроид кордова

Приложение будет выделено серым цветом, если это видно из недавно использованных приложений.

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

жалобно, ourcodeworld-cordova-preventscreenshots Плагин не поддерживает iOS, но есть другой плагин, который поддерживает как Android, так и iOS, однако вы не можете динамически изменять эту функцию. Прочитайте документацию по плагину здесь.

Установите следующий плагин для поддержки iOS и Android:

cordova plugin add cordova-plugin-privacyscreen
# or
phonegap local plugin add cordova-plugin-privacyscreen

Обратите внимание, что вам не нужно ничего делать, кроме как установить плагин, так как он будет автоматически настроен при установке. Конфиденциальность будет включена навсегда в вашем приложении.

Повеселись

Ссылка на основную публикацию
Adblock
detector