Как использовать локальный экземпляр Service для вызова методов вне onServiceConnected (), которые объявлены в интерфейсе ILocalService.java - PullRequest
1 голос
/ 21 июня 2011

Относительно Пример локальной службы Мне удалось определить методы, объявленные в моем ILocalService.java, но я не знаю, как вызывать эти методы вне onServiceConnected () действия. Я могу вызвать только их изнутри onServiceConnected (), который, кажется, не очень полезен. Я ограничен этим? Вот мой ILocalService.java:

/**************************************************************************************************
 * Filename: ILocalService.java
 * Project name: Local Service Sample
 * Application name: Local Service
 * Description: This file contains an example interface for LocalService
 **************************************************************************************************/

package com.marie.localservicesample;

public interface ILocalService {

    public LocalService getService();

    public int getStatusCode();
}

Я предполагаю, что я должен иметь возможность вызывать методы, объявленные в моем ILocalService.java. Эти вызовы не должны ограничиваться значением в пределах onServiceConnected () действием, связанным с моим LocalService.java. Как бы я это сделал?

1 Ответ

1 голос
/ 21 июня 2011

Если вы будете использовать ссылку на службу за пределами метода serviceConnected. Главным образом это бросит nullpointerexception.

Сделайте кнопку в своей деятельности и попробуйте использовать сервисную ссылку в ее onClick. Нажмите на кнопку минимум на 10 секунд. Это будет работать нормально.

Это указывает на то, что службе требуется время для привязки к локальной ссылочной переменной. Метод ServiceConnected используется только для того, чтобы сообщить, что служба подключена и теперь ее можно использовать.

Для правильного использования сервиса вне метода serviceConnected. Вы можете поддерживать логический флаг в методе serviceConnected.

На основе значения флага используйте сервис где угодно

Это насколько я знаю.

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

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