Java 在活动外部调用chromecast媒体路由器
我将Chromecast sdk公开给一个可以在react native中使用的库 所以,当我跑步的时候Java 在活动外部调用chromecast媒体路由器,java,android,chromecast,Java,Android,Chromecast,我将Chromecast sdk公开给一个可以在react native中使用的库 所以,当我跑步的时候 VideoCastManager.initialize(mCurrentActivity, options); mCastManager = VideoCastManager.getInstance(); mCastManager.startCastDiscovery(); 在主要活动中,它非常有效。但是如果我是在课堂上做的,它会崩溃 java.lang.IllegalStateExcep
VideoCastManager.initialize(mCurrentActivity, options);
mCastManager = VideoCastManager.getInstance();
mCastManager.startCastDiscovery();
在主要活动中,它非常有效。但是如果我是在课堂上做的,它会崩溃
java.lang.IllegalStateException:媒体路由器服务只能是
在应用程序的主线程上访问
但是我需要一种在活动外部调用startDiscovery方法的方法,因为它将从另一个操作调用,如果它发现chromecast与否,它将进行广播
有没有办法做到这一点?例外是关于主线程和工作线程;你是在工作线程上调用它吗?如果是这样,您应该做一些更改,以便在应用程序的主线程上调用它。您有什么类型的上下文?@AliNaddaf它来自类型ReactApplicationContextI我不熟悉React,所以是应用程序、活动、服务、广播,。。。上下文?@AliNaddaf看起来像是一个服务。我可以在这里使用活动,但即使我使用VideoCastManager.initialize(mCurrentActivity.getBaseContext(),options);我收到相同的错误消息,只要它是一个主/UI线程,就可以了