【发布时间】:2009-10-17 04:47:44
【问题描述】:
我一直在尝试绑定从活动启动时启动的服务。开机启动代码大部分取自instant messenger。
这是 3 个主要组件的 AndroidManifest.xml 定义:
<!-- 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。此外,当我从 Activity 启动服务时,它按预期工作(调用 ServiceConnection::onServiceConnected)。
【问题讨论】: