java.lang.SecurityException:擦除数据的策略#4没有uid 10047拥有的活动管理员

时间:2014-05-27 20:33:04

标签: java android device-admin device-policy-manager

我想使用我的应用程序远程擦除数据,但目前我正在尝试从应用程序手动执行此操作。但是当我尝试使用擦除数据方法时,它会显示安全异常。我试图强制锁定并显示正面结果但在擦除数据期间给出异常。请帮我。感谢。

这是堆栈跟踪

java.lang.SecurityException: No active admin owned by uid 10047 for policy #4
    at android.os.Parcel.readException(Parcel.java:1425)
    at android.os.Parcel.readException(Parcel.java:1379)
    at android.app.admin.IDevicePolicyManager$Stub$Proxy.wipeData(IDevicePolicyManager.java:1553)
    at android.app.admin.DevicePolicyManager.wipeData(DevicePolicyManager.java:1082)
    at com.test.WipeActivity$1.run(WipeActivity.java:54)
    at java.lang.Thread.run(Thread.java:856)

2 个答案:

答案 0 :(得分:3)

确保您为DeviceAdminReceiver实施课程设置了正确的权限,并在Settings

中将其作为App管理员进行了检查

enter image description here

<device-admin xmlns:android="http://schemas.android.com/apk/res/android">
  <uses-policies>
    <wipe-data />
  </uses-policies>
</device-admin>

有关详细信息,请参阅本指南http://developer.android.com/guide/topics/admin/device-admin.html

答案 1 :(得分:0)

这是xml文件

<device-admin xmlns:android="schemas.android.com/apk/res/android">
<uses-policies>
<force-lock />
<wipe-data />
</uses-policies>
</device-admin>

将修改后的访问权限更改为接收者类中的Public。确保您的接收器类和方法是公开的。如果有人在此之后仍然遇到任何问题,请告诉我。