2010-12-15 10 views
6

estoy tratar de bloquear el dispositivo usando DeviceAdminReceiver y tratar de activar la administración como la siguiente:dispositivo de bloqueo usando DeviceAdminReceiver

if (!mDPM.isAdminActive(mDeviceAdminSample)) { 
    Intent intent = new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN) 
    intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN, mDeviceAdminSample); 
    intent.putExtra(DevicePolicyManager.EXTRA_ADD_EXPLANATION, "Additional text explaining why this needs to be added."); startActivity(intent); 
} 

y conseguir de error similar al siguiente:

ERROR/Error (1022): java.lang.SecurityException: No se activa administrador propiedad de UID 10045 para la política # 3

amablemente dame algunas soluciones de código y cómo habilitar el permiso de administración.

+0

favor [siga este enlace] [1] La esperanza de su va a ser útil para usted. [1]: http://stackoverflow.com/questions/13450986/device-administrative-android-app-implementation –

Respuesta

8

A juzgar por su mensaje de error parece que se olvidó de configurar su device_admin_sample.xml para solicitar la política que desea utilizar.

Por ejemplo, si en su AndroidManifest.xml tiene el siguiente código de receptor para DeviceAdminSample.

<receiver android:name=".app.DeviceAdminSample" 
      android:label="@string/sample_device_admin" 
      android:description="@string/sample_device_admin_description" 
      android:permission="android.permission.BIND_DEVICE_ADMIN"> 
    <meta-data android:name="android.app.device_admin" 
       android:resource="@xml/device_admin_sample" /> 
    <intent-filter> 
     <action android:name="android.app.action.DEVICE_ADMIN_ENABLED" /> 
    </intent-filter> 
</receiver> 

A continuación, asegúrese de que también fija su device_admin_sample.xml a la siguiente XML para que pueda utilizar cada una de las habilidades del administrador de dispositivos.

<device-admin xmlns:android="http://schemas.android.com/apk/res/android"> 
    <uses-policies> 
    <limit-password /> 
    <watch-login /> 
    <reset-password /> 
    <force-lock /> 
    <wipe-data /> 
    </uses-policies> 
</device-admin> 
+0

Es que el permiso necesidad raíz? – Hugo

+0

No, no es necesario que rootee el teléfono Android. – Anton

+0

Pero no es necesario presionar OK desde un cuadro de diálogo, ¿verdad? – Hugo

Cuestiones relacionadas