Java 如何断开与接收器应用程序的连接?

Java 如何断开与接收器应用程序的连接?,java,android,google-cast,Java,Android,Google Cast,在我的Chromecast Sender应用程序中,我添加了一个菜单项,允许用户停止设备上的接收器应用程序(并确保媒体路由器对话框中的“断开连接”按钮不会停止接收器,就像CastHelloText android示例应用程序中那样) 因此,当用户点击“Exit App”菜单项时,我正在运行示例代码“teardown()”方法(如图所示)。此代码将终止Receiver应用程序,并应取消选择当前选定的设备 然而,虽然它确实会关闭接收器应用程序,但它不会取消选择设备,并且播放图标保持在选定状态,点击它

在我的Chromecast Sender应用程序中,我添加了一个菜单项,允许用户停止设备上的接收器应用程序(并确保媒体路由器对话框中的“断开连接”按钮不会停止接收器,就像CastHelloText android示例应用程序中那样)

因此,当用户点击“Exit App”菜单项时,我正在运行示例代码“teardown()”方法(如图所示)。此代码将终止Receiver应用程序,并应取消选择当前选定的设备

然而,虽然它确实会关闭接收器应用程序,但它不会取消选择设备,并且播放图标保持在选定状态,点击它会显示对话框,就像手机仍然连接到Chromecast一样

显然,如果我试图从我的应用程序中抛出任何东西,它就不能

那么,如何完全断开与设备的连接

我的teardown()方法与链接代码中的方法完全相同。下面是我的菜单代码:

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    final SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);

    switch (item.getItemId()) {
        case R.id.exit_app:
            teardown();
            return true;
        default:
            return super.onOptionsItemSelected(item);
    }
}
你可以打电话

mMediaRouter.selectRoute(mMediaRouter.getDefaultRoute())
或者

mMediaRouter.unselect(UNSELECT_REASON_DISCONNECTED)

嗨@Ali Naddaf,当用户从堆栈中清除应用程序时,我想断开应用程序与Chromecast的连接。这可能吗?