studio programacion herramientas fundamentos con avanzado aplicaciones android android-emulator locking device-admin

programacion - Bloquee el dispositivo Android programáticamente



manual de android en pdf (4)

La clase de actividad debe ser de clase interna y la clase de salida debe extender DeviceAdminReceiver

public class adminActivity extends DeviceAdminReceiver { public static class Controller extends Activity { DevicePolicyManager mDPM; ComponentName mDeviceAdminSample; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mDPM = (DevicePolicyManager)getSystemService(Context.DEVICE_POLICY_SERVICE); mDeviceAdminSample = new ComponentName(Controller.this, adminActivity.class); } } }

Para bloquear el dispositivo, escriba el código en el caso de que use para bloquear

if (active) { mDPM.lockNow(); }

Si DeviceAdmin está habilitado, el teléfono se bloqueará. Para habilitar el administrador del dispositivo, se invoca el intento DevicePolicyManager y el usuario debe habilitarlo.

Intent intent = new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN); intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN, mDeviceAdminSample);

He estado intentando bloquear el dispositivo a través del programa. Pero aún no puedo encontrar la solución. Quiero bloquear Android froyo2.2 a través del programa. He intentado con keyguardmanager y DeviceAdminManager.

Mi aplicación es para bloquear de forma remota el dispositivo. Cuando se recibe un mensaje con algunas palabras de código para bloquear, entonces bloquea el teléfono. He encontrado muchos programas Api_demo como solución, pero no puedo extraer el código de bloqueo solo de eso y encontrar una solución.


La clase de actividad debe ser la clase interna y la clase externa debe extender DeviceAdminReceiver

public class adminActivity extends DeviceAdminReceiver { public static class Controller extends Activity { DevicePolicyManager mDPM; ComponentName mDeviceAdminSample; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mDPM = (DevicePolicyManager)getSystemService(Context.DEVICE_POLICY_SERVICE); mDeviceAdminSample = new ComponentName(Controller.this, adminActivity.class); } } }


Para resolver esta tarea puede echar un vistazo al código fuente NoKeyGuard y más precisamente a una clase de servicio NoKeyGuard y una clase KeyguardLockWrapper.

Para desbloquear el dispositivo, escriba el código en caso de que use para desbloquear:

Context context= getApplicationContext(); KeyguardManager _guard = (KeyguardManager) context.getSystemService(Context.KEYGUARD_SERVICE); KeyguardLock _keyguardLock = _guard.newKeyguardLock("KeyguardLockWrapper"); //to disable _keyguardLock.disableKeyguard(); //to enable _keyguardLock.reenableKeyguard();


WindowManager.LayoutParams lp = getWindow().getAttributes(); lp.screenBrightness = 0; getWindow().setAttributes(lp); getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);