- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在开发一个 android auto,但是我在 Service
的 Onbind
方法中的这部分代码有一些问题:
public IBinder onBind(Intent arg0) {
Log.i("TAG", "OnBind");
// TODO Auto-generated method stub
if (SERVICE_INTERFACE.equals(arg0.getAction())) {
Log.i("TAG", "SERVICE_INTERFACE");
registerReceiver(receiver, filter);
return super.onBind(arg0);
}
else{ Log.i("Musica Service", "musicBind");
return musicBind;}
}
我有另一个 Activity 通过 musicBind
IBinder
与我的服务绑定(bind),但另一方面我已经设置了所有东西以在 Android 自动界面中连接我的应用程序但是在将设备与 Android auto 断开连接后关闭我的应用程序后,我无法停止我的 MediaBrowserServiceCompat
我认为是由于此 SERVICE_INTERFACE
保持绑定(bind)服务。
如何从同一个服务 MediaBrowserServiceCompat
中停止或销毁它?
最佳答案
根据 media browser service lifecycle documentation ,您的 MediaBrowserServiceCompat
通常只绑定(bind)(因此在最后一个客户端取消绑定(bind)时被销毁),只启动(例如在后台播放音乐时),或者既绑定(bind)又启动(例如在用户界面可见的情况下播放音乐)。
您的服务只有在 1) 不再有任何绑定(bind)的客户端和 2) 当您调用 stopSelf()
时才会被销毁(假设它在某个时候启动)。 Android Auto 已经与数百个其他应用一起工作,不太可能继续绑定(bind)到您的服务,并且不会成为适用于所有媒体应用的严重问题。
因此,您的服务更有可能以某种方式启动。根据 Media Session callbacks documentation ,你应该在开始播放时调用 startService
,在停止播放时调用 stopSelf
- 这确保你的服务,假设没有人仍然绑定(bind)到它,将被销毁播放停止。
您可以使用 adb shell dumpsys activity services
查看您的服务状态(可选择添加服务类的名称以仅过滤该类)。
关于Android Auto SERVICE_INTERFACE MediaBrowserServiceCompat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41948263/
我是安卓开发新手。我想创建一个以客户端-服务器方式运行的音乐播放器。我现在正在尝试创建服务器部分。我发现我可以使用 MediaBrowserServiceCompat 来实现这一点,正如官方文档 he
我的服务: public class MusicService extends MediaBrowserServiceCompat { ... } 我的 Activity : public class
我创建了一个实现 MediaBrowserServiceCompat 的测试应用程序。我已遵循本指南: https://developer.android.com/guide/topics/media
如何从事件访问我在 MediaBrowserServiceCompat 中定义的公共(public)方法(不是覆盖的方法)? 之前我只使用过服务,所以我可以将它与事件类绑定(bind),然后轻松访问方
我正在开发一个 android auto,但是我在 Service 的 Onbind 方法中的这部分代码有一些问题: public IBinder onBind(Intent arg0) {
我出乎意料地努力获取派生自 MediaBrowserServiceCompat 的服务实例。 对于典型的服务,要实现这一点,使用本地绑定(bind)器 class MyService extends
我正在使用这个 example code构建一个 MediaPlayer 服务。我或多或少地工作,但是如果用户返回到包含媒体控件的 Activity,我需要检测 MediaPlayer 处于什么状态。
我正在开发一个音频播放器。播放器可通过蓝牙控制(暂停、播放……)。接下来我要实现的是通过 MediaBrowserServiceCompat 服务从播放列表中选择轨道。到目前为止,唯一的测试客户是我的
我有一个 Service 使用新的 MediaBrowserServiceCompat 与我的 Player 实现交互。 这是我的服务的 onCreate() @Override public voi
我正在尝试从耳机或汽车控件(播放/暂停/等)接收媒体按钮事件 这在我的应用程序 list 中。 这是我的 Medi
我正在尝试将媒体项目公开给可以通过我的 MediaBrowserServiceCompat 浏览我的应用程序内容的其他媒体应用程序服务。在我的 onLoadChildren我正在构建的方法 Media
我已在我的应用程序中实现了 MediaBrowserServiceCompat。 @Override public BrowserRoot onGetRoot(@NonNull String s, i
关闭。这个问题是not reproducible or was caused by typos .它目前不接受答案。 这个问题是由于错别字或无法再重现的问题引起的。虽然类似的问题可能是on-topi
我正在开发一款使用 Android 架构组件的音频应用。我有一个服务,它扩展了 MediaBrowserServiceCompat 和一个带有 MediaBrowserCompat 的 fragmen
我是 Android 开发的初学者,试图通过实现 MediaBrowser 和 MediaSession 创建一个媒体播放器。 我对 onGetRoot() 和 onLoadChildren() 的功
我一直在忙着更新 universal Android Mediaplayer使用 Compat 库使其在低于 lollipop 的 Android 版本上运行。 这是一个用它们的兼容变体替换大多数类的
我有一个 Android Auto 应用程序。我想利用分页在应用程序内进行浏览。看来您可以通过获取对 MediaBrowserCompat 的引用并在 .subscribe() 中传递这些常量来设置
我是一名优秀的程序员,十分优秀!