PermissionDenial:package=androiddoesnotbelongtouid=2000
- 创业
- 2025-07-22 01:18:01
02-01 03:14:17.230 1685 2701 W ContextImpl: Calling a method in the system process without a qualified user: xxxxxxxxx 02-01 03:14:17.231 1685 2701 W ActivityTaskManager: Permission Denial: package=android does not belong to uid=2000
这类问题往往是调用端,即发起端无权限导致的,可增加发起端权限,或者当发起端权限无法增加时,可以尝试如下方法
假设是一个bin发起的调用,即bin通过调用AIDL接口去调用系统服务对应的接口,bin是无法加此类权限的,可以在此系统服务内加个handler
然后在此AIDL接口实现中用如下方式实现你的功能
final H mH = new H();
public void testJJJJJ() {
mH.sendEmptyMessage(H.CALL_JAVA_CORE_INTERFACE);
}
然后通过hanler去转发我们的消息
final class H extends android.os.Handler { public static final int CALL_JAVA_CORE_INTERFACE = 1; @Override public void handleMessage(Message msg) { switch (msg.what) { case CALL_JAVA_CORE_INTERFACE: { realFunctionName(); break; } } } }
然后再实现realFunctionName就可以了,这样发起方,就由bin变为了此系统服务的handler,这样基本就不会有权限问题了。
private void realFunctionName() { //在此处去真正实现你的功能 }
PermissionDenial:package=androiddoesnotbelongtouid=2000由讯客互联创业栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“PermissionDenial:package=androiddoesnotbelongtouid=2000”