- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
<分区>
我的代码非常简单,我只想使用 MediaBrowserServiceCompat 绑定(bind)到音乐服务,实际上我有一个更大的程序也有同样的问题,所以我试图制作一个没有所有不重要部分的小程序,但我收到以下错误:
08-27 11:31:30.848 12214-12214/com.example.android.newcheck E/AndroidRuntime: FATAL EXCEPTION: main Process: com.example.android.newcheck, PID: 12214 java.lang.RuntimeException: Unable to bind to service com.example.android.newcheck.MusicStreamService@8c043ff with Intent { act=android.media.browse.MediaBrowserService cmp=com.example.android.newcheck/.MusicStreamService }: java.lang.NullPointerException: Attempt to invoke interface method 'android.os.IBinder android.support.v4.media.MediaBrowserServiceCompat$MediaBrowserServiceImpl.onBind(android.content.Intent)' on a null object reference at android.app.ActivityThread.handleBindService(ActivityThread.java:3847) at android.app.ActivityThread.access$2200(ActivityThread.java:221) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1887) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:158) at android.app.ActivityThread.main(ActivityThread.java:7224) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120) Caused by: java.lang.NullPointerException: Attempt to invoke interface method 'android.os.IBinder android.support.v4.media.MediaBrowserServiceCompat$MediaBrowserServiceImpl.onBind(android.content.Intent)' on a null object reference at android.support.v4.media.MediaBrowserServiceCompat.onBind(MediaBrowserServiceCompat.java:613) at android.app.ActivityThread.handleBindService(ActivityThread.java:3834) at android.app.ActivityThread.access$2200(ActivityThread.java:221) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1887) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:158) at android.app.ActivityThread.main(ActivityThread.java:7224) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
我主要使用了 Youtube 上的 Ian Lake 讲座并做了他所说的一切,但我不知道为什么会出现此错误,我尝试在线查找答案但找不到任何答案。谢谢您的帮助。
安卓 list :
<service
android:name=".MusicStreamService"
android:exported="true">
<intent-filter>
<action android:name="android.media.browse.MediaBrowserService" />
</intent-filter>
</service>
主要 Activity :
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
MediaBrowserCompat mediaBrowser = new MediaBrowserCompat(MainActivity.this, new ComponentName(MainActivity.this, MusicStreamService.class),
new MediaBrowserCompat.ConnectionCallback() {
@Override
public void onConnected() {
Log.v("MainActivity","connected");
}
@Override
public void onConnectionSuspended() {
super.onConnectionSuspended();
}
@Override
public void onConnectionFailed() {
super.onConnectionFailed();
}
}, null);
mediaBrowser.connect();
Button click = (Button) findViewById(R.id.button);
click.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startService(new Intent(MainActivity.this, MusicStreamService.class));
}
});
}
音乐流服务:
public class MusicStreamService extends MediaBrowserServiceCompat {
@Nullable
@Override
public BrowserRoot onGetRoot(@NonNull String clientPackageName, int clientUid, @Nullable Bundle rootHints) {
Log.v("***********", "getroot");
return new BrowserRoot(getString(R.string.app_name), // Name visible in Android Auto
null); // Bundle of optional extras
}
@Override
public void onLoadChildren(@NonNull String parentId, @NonNull Result<List<MediaBrowserCompat.MediaItem>> result) {
Log.v("*********", "one step before connect2");
result.sendResult(null);
}
@Override
public void onCreate() {
MediaSessionCompat mediaSession = new MediaSessionCompat(this, MusicStreamService.class.getSimpleName());
setSessionToken(mediaSession.getSessionToken());
mediaSession.setFlags(MediaSessionCompat.FLAG_HANDLES_MEDIA_BUTTONS |
MediaSessionCompat.FLAG_HANDLES_TRANSPORT_CONTROLS);
mediaSession.setActive(true);
}
我是安卓开发新手。我想创建一个以客户端-服务器方式运行的音乐播放器。我现在正在尝试创建服务器部分。我发现我可以使用 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() 中传递这些常量来设置
我是一名优秀的程序员,十分优秀!