Android Service never appears to start - onStartCommand() not called

Я пытаюсь создать службу, которая будет обрабатывать ввод-вывод файлов в фоновом режиме. Действия, обновляющие данные, будут связываться со службой и вызывать методы службы для выполнения ввода-вывода. Я использую документацию Android для руководства.

Однако моя служба, похоже, не хочет запускаться. В методе onCreate() моей Activity у меня есть:

Intent smsIntent = new Intent(this, SurveyManagerService.class);    
String surveyFilename = getIntent().getStringExtra("surveyFilename");   
System.out.println(startService(smsIntent)); //testing if it starts
SurveyManagerServiceConnection connection = new SurveyManagerServiceConnection();
sms = connection.getSurveyManagerService();

В строке 3 LogCat выводит объект ComponentInfo, поэтому кажется, что служба создана; однако sms равен null. Более того, метод SurveyManagerService onStartCommand(), похоже, никогда не вызывается:

@Override
public int onStartCommand(Intent intent, int flags, int startId)
{
    System.out.println("starting service");
    Toast.makeText(this, "service starting", Toast.LENGTH_SHORT).show();
    openSurveyFromIntent(intent);
    return START_REDELIVER_INTENT;
}

Я не вижу никакого вывода "запуска службы" в LogCat, также не появляется тост.

Мой сервис объявлен в манифесте как:

<service android:name=".SurveyManagerService" android:exported="false" android:enabled="true">
</service>

Я упускаю что-то очевидное? Дайте мне знать, какую еще информацию я должен предоставить, чтобы диагностировать проблему.

16
задан Spinner 14 October 2011 в 13:35
поделиться