首先,我知道它已从26.0.1弃用,所以我按照了一些链接,它将我带到了here。我正在关注this教程,但现在已弃用该程序的某些部分我在第一个链接中找到的解决方案解决了api 21的问题。那么如何将它用于预棒棒糖设备。
答案 0 :(得分:0)
我刚刚实现了该文章中描述的大部分内容。我会说跳过MediaSessionCompat并使用普通服务。 MediaSessionCompat 没有很好的文档记录,也没有太多关于如何使用它们或示例的文章。
我建议你去"正常"服务。绑定和启动有两种服务。在我的情况下,我必须启动并绑定我的服务。绑定部分仅在需要来自服务的回调时才需要。尝试使用最简单的东西,hello world,如果service lifecylce就像你想要的那样开始将自己的代码放入其中。
这是我开始做的事情的例子+绑定服务:
Intent intent = new Intent(this, BackgroundAudioService.class);
startService(intent);
bindService(intent, mConnection, Context.BIND_AUTO_CREATE);
当绑定完成后,您可以在此处完成所需的工作:
private ServiceConnection mConnection = new ServiceConnection() {
@Override
public void onServiceConnected(ComponentName className, IBinder service) {
// relevant work for your service/activity
}
@Override
public void onServiceDisconnected(ComponentName arg0) {
// cleanup, releasing of resources
}
};
启动和使用通知的方式虽然我觉得有用并且从那篇文章中可以正常工作。
对于我来说,这个问题的问题在于,在从教程中运行该代码之后,只要人们离开1个活动,服务就会死亡+通知被解除。