06-01 01:39:56.575 1549 1787 W System.err: java.lang.RuntimeException: Unknown exception code: 1 msg null
06-01 01:39:56.575 1549 1787 W System.err: at android.os.Parcel.createException(Parcel.java:2413)
06-01 01:39:56.576 1549 1787 W System.err: at android.os.Parcel.readException(Parcel.java:2393)
06-01 01:39:56.576 1549 1787 W System.err: at android.os.Parcel.readException(Parcel.java:2335)
06-01 01:39:56.576 1549 1787 W System.err: at android.ipd.ICustomizeManagerService$Stub$Proxy.getCustomizeMovingState(ICustomizeManagerService.java:240)
06-01 01:39:56.576 1549 1787 W System.err: at com.android.server.policy.PhoneWindowManager.interceptKeyBeforeQueueing(PhoneWindowManager.java:3581)
06-01 01:39:56.576 1549 1787 W System.err: at com.android.server.wm.InputManagerCallback.interceptKeyBeforeQueueing(InputManagerCallback.java:150)
06-01 01:39:56.576 1549 1787 W System.err: at com.android.server.input.InputManagerService.interceptKeyBeforeQueueing(InputManagerService.java:2827)
现象:
点击Customize调节按键,按键频繁了会触发此错误,不频繁则不会引起此问题。
点击按键后,通过AIDL与Native service进行了通信。getCustomizeMotorMovingState函数返回值是布尔类型,导致了此问题。
原因:
此接口在aidl中用的是boolean,而C++Bn端中用的是bool,虽都是布尔类型,两者是有区别的,通过将getCustomizeMotorMovingState返回值修改成了int解决此问题。