在 activity 之外调用 chromecast 媒体路由器
Invoke chromecast media router outside an activity
我将 Chromecast sdk 暴露给一个可以在本机反应中使用的库。
所以,当我 运行
VideoCastManager.initialize(mCurrentActivity, options);
mCastManager = VideoCastManager.getInstance();
mCastManager.startCastDiscovery();
在主 activity 中,效果很好。但是如果我从 class 开始,它会崩溃
java.lang.IllegalStateException: The media router service must only be
accessed on the application's main thread.
但我需要一种在 activity 之外调用 startDiscovery 方法的方法,因为它将从另一个操作中调用,并且如果它找到或没有找到 chromecast 就会广播。
有办法吗?
例外是关于主线程和工作线程;你是在工作线程上调用它吗?如果是这样,您应该进行一些更改以在应用程序的主线程上调用它。
我将 Chromecast sdk 暴露给一个可以在本机反应中使用的库。
所以,当我 运行
VideoCastManager.initialize(mCurrentActivity, options);
mCastManager = VideoCastManager.getInstance();
mCastManager.startCastDiscovery();
在主 activity 中,效果很好。但是如果我从 class 开始,它会崩溃
java.lang.IllegalStateException: The media router service must only be accessed on the application's main thread.
但我需要一种在 activity 之外调用 startDiscovery 方法的方法,因为它将从另一个操作中调用,并且如果它找到或没有找到 chromecast 就会广播。
有办法吗?
例外是关于主线程和工作线程;你是在工作线程上调用它吗?如果是这样,您应该进行一些更改以在应用程序的主线程上调用它。