Cómo evitar la captura de pantalla en Android
¿Es posible evitar la grabación de la pantalla en la aplicación Android?
Me gustaría desarrollar una aplicación segura para Android. En que tengo que detectar el software de grabación de pantalla que están ejecutando el fondo y matarlos. He utilizado SECURE FLAG para evitar capturas de pantalla. Pero no sé es posible evitar la captura de vídeo de Android Screen también. Déjame saber cómo evitar la captura de pantalla (vídeo / capturas de pantalla).
- ¿Qué tan seguro es proteger contra la ingeniería inversa?
- Aplicación NDK Firma de cheque
- Implicaciones de los permisos del paquete (Todos los desarrolladores de android invitados a contribuir)
- ¿El facebook para Android usa https?
- Verificar que Android apk no ha sido reempaquetado?
- ¿Qué sucede mientras se mueve la aplicación a la tarjeta SD en Android
- ¿Debemos usar el proveedor de seguridad de google con OkHttp?
- ¿Qué utilizar como carga útil del desarrollador en las API de facturación de Google In-App?
- Licencia de aplicación vs protección contra copia en Android
- ¿Por qué Android limita los tipos de archivos aceptables tan estrictamente mientras recibe a través de Bluetooth OPP?
- ¿Cómo puedo administrar las transacciones de facturación en la aplicación en un servidor externo de forma segura?
- ¿Cómo puedo verificar / confiar en la ubicación de un dispositivo iOS o Android desde el servidor?
- Android Keystore Tipo ¿cuál debo elegir?
Voy a decir que no es posible prevenir completamente la captura de pantalla / video de cualquier aplicación de Android a través de medios compatibles. Pero si sólo desea bloquearlo para los dispositivos normales de Android, el FLASH SECURO es sustancial.
1) La bandera segura bloquea tanto la captura de pantalla normal como la captura de video.
También la documentación en este enlace dice que
Indicador de ventana: trata el contenido de la ventana como seguro, evitando que aparezca en capturas de pantalla o que se visualice en pantallas no seguras.
Por encima de la solución seguramente evitará que las aplicaciones de captura de vídeo de su aplicación
Vea la respuesta aquí .
2) Hay medios alternativos de capturar el contenido de la pantalla.
Puede ser posible capturar la pantalla de otra aplicación en un dispositivo enraizado o mediante el uso del SDK,
Que ofrecen poco o ninguna posibilidad de que usted o bloquear o recibir la notificación de la misma.
Por ejemplo: existe un software que refleja la pantalla de su teléfono a su computadora a través del SDK y por lo tanto el software de captura de pantalla podría ser utilizado allí, no detectado por su aplicación.
Vea la respuesta aquí .
Parece que sabes cómo deshabilitar las capturas de pantalla de tu aplicación y hay otras respuestas que te ayudan en eso. Pero intentaré darte una información importante que nadie te está dando.
1) Usted no puede tener una aplicación que es 100% segura de tomar capturas de pantalla (foto / video). No hay forma oficial de tomar capturas de pantalla en Android. Si una aplicación está registrando pantallas, debe utilizar algunos métodos no admitidos (ya sea enraizando o utilizando el SDK).
Hay muy poco margen para bloquear una aplicación si está utilizando el acceso root para grabar pantallas.
2) Nadie mencionó este problema aquí, pero tenga mucho cuidado al usar WindowManager.LayoutParams.FLAG_SECURE
. Se ha verificado en muchos dispositivos (como en Samsung Galaxy ACE, por ejemplo GT-S5830), que esto hace que toda la vista codificada. Me gusta esto,
Por favor, ponga un cheque como este,
if(android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.HONEYCOMB) { getWindow().setFlags(WindowManager.LayoutParams.FLAG_SECURE, WindowManager.LayoutParams.FLAG_SECURE); }
Funciona perfectamente en los dispositivos ICS, por lo que no hay problema.
3) También descubrí que incluso en dispositivos más nuevos como Android 4.3, esto causa problemas de animación cuando se gira la pantalla. Compruebe este informe de error.
Prueba esto:
getWindow().setFlags(LayoutParams.FLAG_SECURE, LayoutParams.FLAG_SECURE);
Solo agregue esta línea
getWindow().setFlags(LayoutParams.FLAG_SECURE,LayoutParams.FLAG_SECURE);
Antes de su setContentView () ;.
Puedes crear tu aplicación como propietario de dispositivo / perfil y llamar a setScreenCaptureDisabled()
. Desde los documentos , esta api hace lo siguiente:
Public void setScreenCaptureDisabled (ComponentName admin, boolean disabled) Añadido en el nivel 21 del API
Llamada por un propietario de dispositivo / perfil para establecer si la captura de pantalla está desactivada. La desactivación de la captura de pantalla también evita que se muestre el contenido en los dispositivos de visualización que no tienen una salida de vídeo segura. Vea FLAG_SECURE para obtener más detalles sobre superficies seguras y pantallas seguras.
El administrador del dispositivo llamante debe ser un propietario de dispositivo o perfil. Si no es así, se lanzará una excepción de seguridad. Parámetros admin Con qué DeviceAdminReceiver está asociada esta solicitud. Disabled Si la captura de pantalla está desactivada o no.
Alternativamente, puede convertirse en una aplicación de partner de MDM (Mobile Device Management). OEM proporciona API adicionales a sus aplicaciones de partner de MDM para controlar el dispositivo. Por ejemplo, samsung proporciona api para controlar la grabación de pantalla en el dispositivo a sus socios MDM.
En la actualidad, esta es la única forma en que puede aplicar las restricciones de captura de pantalla.
Para inhabilitar la captura de pantalla: –
Agregue la siguiente línea de código en el método onCreate ().
getWindow().setFlags(WindowManager.LayoutParams.FLAG_SECURE, WindowManager.LayoutParams.FLAG_SECURE);
Para habilitar la captura de pantalla: –
Busque "LayoutParams.FLAG_SECURE" y elimine la línea de código.
De acuerdo con esta guía oficial , puede agregar WindowManager.LayoutParams.FLAG_SECURE
a su diseño de ventana y no permitirá capturas de pantalla.
Sobre la captura de pantalla de la foto, FLAG_SECURE no funciona el dispositivo enraizado.
Pero si supervisa el archivo de captura de pantalla, puede evitar que se obtenga el archivo original.
Prueba este
1. supervisión de la captura de pantalla (monitor de archivos) con el servicio remoto android
2. eliminar la imagen de pantalla original.
3. Entregue la instancia de mapa de bits para que pueda modificarla.
- No se puede depurar la aplicación en el dispositivo Android – Android Studio 2.0
- Desactivar el sensor de proximidad durante la llamada