问题描述
我创建了一个DeviceAdminReceiver,用于在为应用授予管理员权限时进行监听。
#MyDevicePolicyReceiver.java
public class MyDevicePolicyReceiver extends DeviceAdminReceiver {
@Override
public void ondisabled(Context context,Intent intent) {
Toast.makeText(context,"Truiton's Device Admin disabled",Toast.LENGTH_SHORT).show();
}
@Override
public void onEnabled(Context context,"Truiton's Device Admin is Now enabled",Toast.LENGTH_SHORT).show();
}
@Override
public CharSequence ondisableRequested(Context context,Intent intent) {
CharSequence disableRequestedSeq = "Requesting to disable Device Admin";
return disableRequestedSeq;
}
@Override
public void onReceive(Context context,Intent intent) {
super.onReceive(context,intent);
Log.i("qwerty","MyDevicePolicyReciever Received: " + intent.getAction());
}
public static void enableApp(Context ctx,String pk){
try {
DevicePolicyManager dpm = (DevicePolicyManager) ctx.getSystemService(Context.DEVICE_POLICY_SERVICE);
ComponentName localComponent = getComponentName(ctx);
dpm.setApplicationHidden(localComponent,pk,false);
}
catch(Exception e){
e.printstacktrace();
Log.d("qwerty",e.toString());
Log.d("qwerty",e.getMessage());
}
}
}
我正在使用DevicePolicyManager的setApplicationHidden从应用程序菜单中隐藏应用程序(在disableapp方法中)。
我在dpm.setApplicationHidden(localComponent,false);
上收到以下错误:
java.lang.SecurityException: Admin ComponentInfo{com.example.applocker/com.example.applocker.broadcast.MyDevicePolicyReceiver} does not own the profile.
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)