android - olvide - ¿Cómo detectar si se requiere PIN/contraseña/patrón para desbloquear el teléfono?
desbloquear celular android cuenta google (3)
¿Cómo puedo detectar si el teléfono está bloqueado por una contraseña, pin o patrón?
¡gracias!
Dos metodos
- Compruebe programáticamente - API 16+
https://gist.github.com/doridori/54c32c66ef4f4e34300f
Tenga en cuenta que no necesita verificar el desbloqueo facial, ya que eso requiere que se establezca un retroceso de pasador / pase.
- Políticas de administración del dispositivo
También puede consultar las Políticas de administración de dispositivos que permiten restricciones sobre cómo se configura la aplicación con respecto a la seguridad, incluidas las restricciones de conjunto de pin / pase
- Administración de dispositivos
- Mejora de la seguridad con políticas de administración de dispositivos
Además, estos son los tipos de bloqueo que desea verificar si utiliza un almacén de Keystore
cifrado. Consulte here para más información.
Esto debería estar bien para la API de Android 16 y superior, de acuerdo con la documentación. Lo probé el 19 y parece funcionar.
private boolean IsDeviceSecured () {
KeyguardManager keyguardManager =
(KeyguardManager) getSystemService(Context.KEYGUARD_SERVICE); //api 16+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
return keyguardManager.isDeviceSecure();
}
return keyguardManager.isKeyguardSecure ();
}
Puede usar la clase developer.android.com/reference/android/provider/… para consultar información sobre la seguridad implementada en un dispositivo Android. Por ejemplo, para ver si el usuario tiene un patrón de bloqueo habilitado, lo haría:
ContentResolver cr = getContentResolver();
int lockPatternEnable =
Settings.Secure.getInt(cr, Settings.Secure.LOCK_PATTERN_ENABLED);
lockPatternEnable
tendría entonces un 0 si no estaba habilitado y un 1 si estaba habilitado.