Тестирование сервиса Android - PullRequest
5 голосов
/ 27 апреля 2009

Как проверить мой IBinder объект, который Service возвращает onBind?

1 Ответ

3 голосов
/ 15 октября 2010

Это соответствует удаленному интерфейсу, который вы используете между вашим контекстом и службой (в сценарии удаленного вызова). Например, вы можете сделать так:

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 () .

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...