在ITelephony实施期间,Binder调用了不正确的接口

时间:2018-06-21 06:15:17

标签: java android

我已经创建了ITelephony AIDL文件作为Interface,如图所示。使用此代码时出现错误提示。

   Class<?> loadClass = CallBlockerPhoneStateListner.class.getClassLoader().loadClass("android.os.ServiceManager");
                Method method = loadClass.getDeclaredMethod("getService", String.class);
                IBinder invoke = (IBinder) method.invoke(null, TELEPHONY_SERVICE);

                ITelephony iTelephony = ITelephony.Stub.asInterface(invoke);
                iTelephony.endCall();

引发错误:

06-21 11:31:26.977 17511-17511/? W/System.err: java.lang.SecurityException: Binder invocation to an incorrect interface
06-21 11:31:26.977 17511-17511/? W/System.err:     at android.os.Parcel.readException(Parcel.java:2005)
06-21 11:31:26.977 17511-17511/? W/System.err:     at android.os.Parcel.readException(Parcel.java:1951)
06-21 11:31:26.977 17511-17511/? W/System.err:     at jss.s.ITelephony$Stub$Proxy.endCall(ITelephony.java:131)

您可以指导如何解决此问题吗?引用来自https://www.programcreek.com/java-api-examples/?code=384401056/itheima/itheima-master/MobileSafe/src/com/blueice/mobilesafe/service/BlackListService.java#

AIDL Image

1 个答案:

答案 0 :(得分:0)

packagename应该是com.android.internal.telephony,而不是aidl目录中的应用程序包名称。