可以通过以下代码来检测客户端连接和断开:
添加onStart和onStop方法:
@Override public void onStart(Intent intent, int startId) { super.onStart(intent, startId); // Connect to the media session mMediaBrowserCompat.connect(); }
@Override public void onStop() { super.onStop(); // Disconnect from the media session mMediaBrowserCompat.disconnect(); }
添加onConnected和onConnectionSuspended方法:
private final MediaBrowserCompat.ConnectionCallback mConnectionCallback = new MediaBrowserCompat.ConnectionCallback() { @Override public void onConnected() { // Called when the connection to the media browser is established super.onConnected(); mMediaControllerCompat = new MediaControllerCompat( MediaPlaybackServiceCompat.this, mMediaBrowserCompat.getSessionToken()); mMediaControllerCompat.registerCallback(mMediaControllerCallback); }
@Override
public void onConnectionSuspended() {
// Called when the connection to the media browser is suspended
super.onConnectionSuspended();
if (mMediaControllerCompat != null) {
mMediaControllerCompat.unregisterCallback(mMediaControllerCallback);
mMediaControllerCompat = null;
}
}
};
在onCreate方法中添加以下代码:
mMediaBrowserCompat = new MediaBrowserCompat(this, new ComponentName(this, MediaPlaybackServiceCompat.class), mConnectionCallback, null);
mMediaBrowserCompat.connect();
在onDestroy方法中添加以下代码:
if (mMediaControllerCompat != null) { mMediaControllerCompat.unregisterCallback(mMediaControllerCallback); mMediaControllerCompat = null; } if (mMediaBrowserCompat != null) { mMediaBrowserCompat.disconnect(); mMediaBrowserCompat = null; }
通过这些方法,您可以检测Android Auto客户端连接和断开连接。