我想用DevicePolicyManager
方法:setSecureSetting
。此方法需要配置文件或设备所有者:
由配置文件或设备所有者调用以更新 Settings.Secure 设置。
我的应用程序已激活设备管理,因为当我打电话时isAdminActive
它返回 true。
但当我打电话时setSecureSetting
我得到了例外:
E/DevicePolicyUtility( 9901): java.lang.SecurityException: Admin ComponentInfo{com.xxxx/com.xxxx.MyDeviceAdminReceiver} does not own the profile
E/DevicePolicyUtility( 9901): at android.os.Parcel.readException(Parcel.java:1546)
E/DevicePolicyUtility( 9901): at android.os.Parcel.readException(Parcel.java:1499)
E/DevicePolicyUtility( 9901): at android.app.admin.IDevicePolicyManager$Stub$Proxy.setSecureSetting(IDevicePolicyManager.java:4300)
E/DevicePolicyUtility( 9901): at android.app.admin.DevicePolicyManager.setSecureSetting(DevicePolicyManager.java:3399)
那么,如何成为 API 的设备所有者呢?
我没有找到在http://developer.android.com/guide/topics/admin/device-admin.html or http://developer.android.com/reference/android/app/admin/DevicePolicyManager.html
我在 API 级别 23 上尝试这样做:
Intent intent = new Intent(DevicePolicyManager.ACTION_PROVISION_MANAGED_PROFILE);
intent.putExtra(DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME,ctx.getPackageName());
if (intent.resolveActivity(ctx.getPackageManager()) != null) {
ctx.startActivity(intent);
} else {
Toast.makeText(ctx, "Stopping.", Toast.LENGTH_SHORT).show();
}
And I got message:![enter image description here](https://i.stack.imgur.com/xIVBt.png)
要成为设备所有者,有两种可能性
dpm set-device-owner:将给定组件设置为活动管理员,并且
其包作为设备所有者。
感谢弗洛伦特·杜邦:http://florent-dupont.blogspot.fr/2015/01/android-shell-command-dpm-device-policy.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)