我有播放音频文件的音乐服务。我从我的活动开始这项服务。当我从发送广播接收器的通知点击播放按钮时,我发送带播放/暂停按钮的通知,并且它正在工作。在onReceive(Context context,Intent intent)方法中,我调用了context.startService(intentService),问题是MusicService.onStartCommand()从未被调用过。
我的接收器
public class PlayEpisodeReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Toast.makeText(context, "Service Started", Toast.LENGTH_SHORT).show();
if(MusicService.isRunning()) {
Intent serviceIntent = new Intent(context, MusicService.class);
serviceIntent.putExtra(AppConstants.ACTION_TYPE, AppConstants.ACTION_PLAY);
context.startService(intent);
}
}
}
我的清单:
<service
android:enabled="true"
android:name=".backgroundtasks.MusicService">
<intent-filter>
<action
android:name = "cc.gm.oscarradio.backgroundtasks.MusicService">
</action>
</intent-filter>
</service>
<receiver
android:enabled="true"
android:name=".Receivers.PlayEpisodeReceiver">
<intent-filter>
<action android:name = "cc.gm.oscarradio.ACTION_MUSIC"/>
</intent-filter>
</receiver>
答案 0 :(得分:3)
在你的代码中我应该稍微改变一下,你应该替换以下行:
context.startService(intent);
通过
context.startService(serviceIntent);
希望这会对你有所帮助。