2

그래서 여기에 문제가있다 :안드로이드가 암호로 보호 장치 관리자 불능화

나는 그가이 암호를 입력하라는 메시지가 표시되고, 사용자가 응용 프로그램의 관리 기능을 해제하려고 시도 장치 관리자 응용 프로그램을 만들려고 해요, 그가 올바른 암호를 입력하지 못하면 앱은 관리자 권한을 유지합니다.

저는 AppLock이라는 앱을 보았습니다. this SO question에 제안 된대로 onDisableRequested() 메서드에서 화면 잠금을 실험했지만 관리 응용 프로그램이 비활성화되었습니다.

사용자가 앱을 관리자 권한으로 설정하려고 시도 할 때 AppLock이 비밀번호 활동을 잠그고 있다고 가정하고 있지만 앱이 잘못된 비밀번호로 사용 중지되는 것을 어떻게 방지 할 수 있는지 이해할 수 없습니다. 암호 활동이 시작될 때 이미 사용 중지 중입니다. 암호가 틀린 경우 특정 프로세스를 중단하기 위해 암호 활동에 후크가 있습니까?

AppLock이 사용중인 사용자 지정 암호 잠금 화면을 구현하는 방법에 대해서도 혼란스러워합니다. 어떻게하면 사용자 정의 암호 잠금 화면으로 잠금 화면 유형을 일시적으로 변경 한 다음 사용자의 원래 잠금 화면 유형으로 되돌릴 수 있습니까? 라 년

+0

안녕하세요.이 방법으로 찾았습니까? – pavanmvn

+1

그래, 아직 해결해야 할 몇 가지 버그가 있지만 대부분이 작업을하기위한 몇 가지 트릭을 알아 냈습니다. 가장 중요한 부분은 "onDisableRequested()"메서드를 암호 활동의 트리거로 사용하는 대신 맨 위에있는 활동을 확인하는 백그라운드 서비스가 필요하며 필요할 때마다 암호 활동을 활성화해야합니다. –

답변

0

커플 :

내 질문에 유사했다 다른 SO 질문 있습니다 테,하지만 난 그냥 같은 문제에 빠져서 그것을 해결할 수있었습니다. 어쩌면 OP가 대답을 필요로하지 않을 수도 있지만, 나 같은 다른 사람들이 해결책을 찾기 위해 이것을 넘어서게됩니다.

이 방법은 사용자가 화면 잠금을 해제 할 수없는 경우에만 작동한다는 점에 유의하십시오.

DeviceAdminReceiver의 onDisableRequested 메서드로 화면을 잠그면 잠금 해제를 위해 사용자가 암호를 입력해야합니다. 물론 이것은 휴대폰에 화면 잠금 (핀, 비밀번호, 지문 등)이있는 경우에만 작동합니다. 스마트 잠금 장치를 조심하십시오.

이 방법은 사용자가 사용 권한을 사용하지 않아야하는 이유를 설명하는 경고를 표시하기위한 것입니다. null (super에서 기본값)이 리턴되면 아무 것도 표시되지 않으며 어쨌든 사용 권한이 사용 불가능합니다. 그래서 우리가 텍스트를 반환하면 그 텍스트뿐만 아니라 ok와 cancel 버튼이있는 대화 상자가 표시됩니다.

당신이 결합 할 경우 그 같은 화면 잠금 :

public CharSequence onDisableRequested(Context context, Intent intent) { 
    DevicePolicyManager deviceManger = (DevicePolicyManager)context.getSystemService(
      Context.DEVICE_POLICY_SERVICE); 
    deviceManger.lockNow(); 
    return "Your warning"; 
} 

사용자들이 화면 잠금을 해제 할 때, 그들은 자신의 암호를 입력해야하고, 권한을 해제 할 때 화면이 꺼집니다 . 그들이 한 후에는 "Your warning", 취소 버튼 및 확인 버튼이있는 대화 상자가 나타납니다. 그 다음에 Ok를 누르면 권한이 비활성화됩니다.