2010-12-15 3 views
6

я пытаюсь заблокировать устройство с помощью DeviceAdminReceiver и попытаться включить управление как следующее:устройство блокировки с помощью 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); 
} 

и получить ошибку что-то вроде следующего:

ERROR/Error (1022): java.lang.SecurityException: Нет активного администратора принадлежит Uid 10045 для политики # 3

любезно дайте мне некоторые решения для кода и как разрешить административное разрешение.

+0

Пожалуйста [следовать ссылку] [1] Надеюсь, что его будет полезно для вас. [1]: http://stackoverflow.com/questions/13450986/device-administrative-android-app-implementation – 2012-11-19 15:20:32

ответ

8

Судя по вашему сообщению об ошибке, возможно, вы забыли установить device_admin_sample.xml, чтобы запросить политику, которую вы хотите использовать.

Например, если в вашем AndroidManifest.xml у вас есть следующий код приемника для 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> 

Затем убедитесь, что вы также установить ваш device_admin_sample.xml к следующему XML, так что вы можете использовать каждый из способностей админ устройства.

<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

Это нужно корень разрешения? – Hugo 2013-05-30 07:41:17

+0

Нет, вам не нужно запускать телефон Android. – Anton 2013-06-01 20:58:43

Смежные вопросы