장치 관리자가 활성화 된 (DevicePolicyManager) 앱을 작성하고 설치했습니다. 하지만 제거하고 싶을 때이 메시지와 함께 실패를 반환합니다.
WARN / PackageManager (69) : com.mypackage.test 패키지를 제거하지 않음 : 장치 관리자가 활성화 됨
어떻게 제거하거나 프로그래밍 방식으로 제거 할 수 있습니까? 감사.
답변:
설정-> 위치 및 보안-> 장치 관리자로 이동하여 제거하려는 관리자를 선택 취소하십시오.
이제 응용 프로그램을 제거하십시오. 제거하기 전에 응용 프로그램을 비활성화해야한다는 메시지가 계속 표시되는 경우 제거하기 전에 응용 프로그램을 강제 종료해야 할 수 있습니다.
새 DevicePolicyManager를 만든 다음 앱의 버튼에 대한 onClickListener에서 removeAdmin (adminReceiver)을 사용할 수도 있습니다.
//set the onClickListener here
{
ComponentName devAdminReceiver = new ComponentName(context, deviceAdminReceiver.class);
DevicePolicyManager dpm = (DevicePolicyManager)context.getSystemService(Context.DEVICE_POLICY_SERVICE);
dpm.removeActiveAdmin(devAdminReceiver);
}
그런 다음 제거 할 수 있습니다.
onDisableRequested
관리자 클래스를 사용하여 장치를 잠그기 위해 일부 코드에 포함 할 수 있습니다 . 그런 다음 사용자는 선택한 비밀번호 (예 : 앱 비밀번호)로 휴대 전화를 잠금 해제해야합니다. 그런 다음 실제로 관리자를 비활성화하려면 사용자가 앱으로 이동하여 해당 앱의 버튼을 클릭해야합니다. 물론 사용자가 관리자를 비활성화하지 못하도록하려면 사용자가 비활성화 하려고하면 장치가 잠기 게된다는 사실을 사용자에게 분명히 알려야 합니다.
onDisableRequested
사용자가 시스템 설정에서 "사용 안함"을 클릭 한 직후에 호출됩니다. 이 시점에서 AdminReceiver 코드는 장치 잠금, 장치 초기화 등의 작업을 수행 할 수 있지만 사용자에게 더 많은 질문을하거나 경고를 표시하거나 사용자에게 확신이 있는지 물어볼 방법은 없습니다. 에서 표시하는 모든 대화 상자 또는 활동이 표시 onDisableRequested
되지만 사용자는 뒤로 버튼을 사용하여 간단히 닫을 수 있습니다. 그러면 관리자가 비활성화되고 앱은이를 방지하기위한 작업을 수행하지 않습니다.
Redmi / xiaomi 사용자
"Settings" -> "Password & security" -> "Privacy" -> "Special app access" -> "Device admin apps"
제거하려는 계정으로 이동하여 선택하십시오.
또는 간단히
설정으로 이동-> 그런 다음 장치 관리자 앱을 검색 -> 제거하려는 계정을 클릭하고 선택하십시오.