2017-06-03 17 views
0

首先,我知道它已从26.0.1弃用,所以我跟着一些链接,它将我带到here。我正在关注this教程,但该程序的某些部分现在已弃用,解决方案i在第一个链接找到解决问题从api 21。所以如何使用这个预棒棒糖设备。如何使用getSupportMediaController

回答

0

我刚刚实现了那篇文章中描述的大部分内容。我会说跳过MediaSessionCompat并使用正常的服务。 MediaSessionCompat 没有很好的文档记录,并没有太多关于如何使用它们或例子的文字。

我会建议只与“正常”的服务。有两种服务,绑定和开始。在我的情况下,我必须开始并绑定我的服务。仅当需要从服务回调时才需要绑定部分。试一试最简单的东西,hello world,如果服务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 
    } 
}; 

的方式启动和使用的通知尽管我觉得这篇文章很有用并且工作得很好。

对于我来说,这个artice的问题在于,在从教程运行代码后,只要从1个活动中导航离开,服务就会死亡+通知就会消失。

+0

应该避免链接应答:[answer] – Y0da