我正在编写一个能够检测DLNA和Chrome设备的Android应用程序。应用程序设计语言不支持在ActionBar上放置强制转换按钮。相反,我需要轮询DLNA和Chrome设备并显示在列表中。
为检测演员设备而编写的代码如下:
mMediaRouteSelector = new MediaRouteSelector.Builder()
.addControlCategory(CastMediaControlIntent.categoryForCast(CastMediaControlIntent.DEFAULT_MEDIA_RECEIVER_APPLICATION_ID))
.build();
mMediaRouterCallback = new MyMediaRouterCallback();
mMediaRouter.addCallback(mMediaRouteSelector, mMediaRouterCallback,
MediaRouter.CALLBACK_FLAG_PERFORM_ACTIVE_SCAN);
使用上面的代码,我无法检测到Chrome设备。我需要大约10分钟才能检测到网络中的设备。有时需要更多时间。但是在Actionbar中使用CastButton会立即检测到设备。
如何在没有任何延迟的情况下检测Chrome设备?
答案 0 :(得分:0)
我建议你拨打int
,然后依靠回调来保持最新路线的来来去去。可能是out
已经发现您的设备,并且根据多种因素,您的回调可能无法收到此类路由的通知。如果您发现mMediaRouter.getRoutes()
符合您的要求,那么您需要手动过滤该调用获得的路由(使用相同的选择器和MediaRouter
。