如何测试IBinder
Service
onBind
对象的{{1}}对象?
答案 0 :(得分:3)
根据您在上下文和服务之间使用的远程接口(在远程调用方案中)。 例如,您可以这样做:
IBinder service = this.bindService(new Intent(TestService.class.getName()));
assertNotNull(service);
assertTrue(service instanceof ITestServiceCall); //see if the service returns the correct interface
ITestServiceCall iTestServiceCall = ITestServiceCall.Stub.asInterface(service);
assertNotNull(iTestServiceCall);
iTestServiceCall.doSomething();
ITestServiceCall是您在AIDL文件中定义的界面( ITestServiceCall.aidl )。
但在此之前,您必须确保您的服务在 onBind()上正确返回界面的存根。
我希望这可以提供帮助。