Android DevicePolicyManager lockNow ()

Soy nuevo en el desarrollo de Android, por eso me golpeó una pared. Quiero que una aplicación se ejecute como un servicio y monitorea SMS. Si se recibe un mensaje SMS específico, bloquea el teléfono (como si el período de bloqueo hubiera caducado). Un poco como un bloqueo remoto.

Utilicé DevicePolicyManager para invocar el método lockNow() . Sin embargo, activa un error en la parte que se llama lockNow() .

Aquí está el código de ejemplo en la actividad:

 public class SMSMessagingActivity extends Activity { /** Called when the activity is first created. */ public static DevicePolicyManager mDPM; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); mDPM = (DevicePolicyManager)getSystemService(Context.DEVICE_POLICY_SERVICE); } public static void LockNow(){ mDPM.lockNow(); } } 

Miré http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/app/DeviceAdminSample.html como un ejemplo de referencia.

¿Alguien puede ayudarme? ¿Mostrarme lo que está mal con mi código? ¿Tengo que modificar algo para habilitar derechos administrativos en el emulador o el dispositivo?

¡Gracias!

One Solution collect form web for “Android DevicePolicyManager lockNow ()”

Aquí hay algo de los documentos:

El administrador del dispositivo llamante debe haber solicitado USES_POLICY_FORCE_LOCK para poder llamar a este método; Si no lo ha hecho, se lanzará una excepción de seguridad.

Por lo tanto, usted debe hacer lo siguiente en su oncreate:

 ComponentName devAdminReceiver; // this would have been declared in your class body // then in your onCreate mDPM = (DevicePolicyManager)getSystemService(Context.DEVICE_POLICY_SERVICE); devAdminReceiver = new ComponentName(context, deviceAdminReceiver.class); //then in your onResume boolean admin = mDPM.isAdminActive(devAdminReceiver); if (admin) mDPM.lockNow(); else Log.i(tag,"Not an admin"); 

En una nota lateral, su código de ejemplo es una actividad.
Eso, y usted debe utilizar un receptor de radiodifusión para implementar todo y monitorear sms.

He aquí un ejemplo de API para recibir sms:

http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/os/SmsMessageReceiver.html

  • Receptor de radiodifusión sigue funcionando después de cerrar la aplicación - Android
  • Cómo enviar SMS con Delphi XE5 en Android
  • No se puede instanciar el receptor en BroadcastReceiver SMS
  • ¿Es posible ocultar / cambiar el número de móvil del remitente mientras se envía sms en android?
  • ¿Cómo obtengo el nombre guardado de SMS Sender Contact (Person) mediante "content: // sms / inbox"
  • Tarjeta dual sim enviar sms android
  • Receptor de radiodifusión dentro de un servicio
  • Mover un mensaje a la bandeja de entrada desde la base de datos
  • IPhone o Android que utilizan la autenticación basada en SMS?
  • Android 1.6 SMS (antiguo código de aplicación)
  • Uso de SMS para verificar el número de teléfono de un dispositivo
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.