Я пытался связать службу, которая была запущена при загрузке из активности. Код для запуска при загрузке в основном принимался из instant messenger.ServiceConnection :: onServiceConnected не вызывается, хотя Context :: bindService возвращает true?
Это определение AndroidManifest.xml для 3-х основных компонентов:
<!-- Receiver -->
<receiver android:name=".receiver.LifestylePPAutoStarter"
android:process="android.process.lifestylepp">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"/>
</intent-filter>
</receiver>
<!-- Service -->
<service android:name=".service.LifestylePPService"
android:process="android.process.lifestylepp"
android:enabled="true"
android:exported="true">
<intent-filter>
<action android:name="edu.gatech.lifestylepp.ILifestylePPService" />
<action android:name="edu.gatech.lifestylepp.SERVICE" />
</intent-filter>
</service>
<!-- Activity -->
<activity android:name=".app.LifestylePPActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
Приемник запускает службу при загрузке без каких-либо проблем. Однако, когда я пытаюсь связать службу с моей деятельностью, Context :: bindService возвращает true, но ServiceConnection :: onServiceConnected никогда не вызывается. Кроме того, когда я запускаю службу из своей активности, она работает как ожидалось (вызывается ServiceConnection :: onServiceConnected).
Я знаю, что startService() не включает ServiceConnection. То, что я имел в виду, это: Когда я запускаю службу из этой операции, я могу связать ее с помощью bindService (намерение, соединение, 0) без каких-либо проблем. Проблема возникает только при запуске службы с ресивера. Спасибо за ваше предложение! К сожалению, я уже пробовал запустить работу и службу в том же процессе и ничего не изменил. – kloffy
Добавьте флаг BIND_AUTO_CREATE в вызов bindService(). – CommonsWare
Не будет ли причиной запуска новой службы? Служба уже запущена, она была создана при загрузке ресивером. Я просто хочу связать его с деятельностью. – kloffy