如何检测我的 AndroidTV目前来自移动/桌面的Google强接收器?
如何从Google Cast Receiver角度检测目前谁是Google强弱发件人?
如何检测我的 Android手机目前是否为Google强发件人?
答案 0 :(得分:1)
您可以使用Android Media Router API请求Cast设备的所有可用路由。然后,您必须连接到每个Cast设备,然后您可以确定应用程序ID,甚至是媒体正在播放。如果您只想知道自己的应用程序是否正在运行,那么只需按此过滤媒体路由器请求。
只有接收方才知道哪些发件人与之相连。在您自己的自定义接收器中,您可以跟踪自己的应用程序。
您或许可以使用媒体路由器来确定是否存在活动路由。不确定你是否能够判断它是否是Cast路线,因为这些路线也可以用于其他设备,如蓝牙音箱。
答案 1 :(得分:0)
要添加到Leons答案中,我们在MediaRouter上有一个回调,就像这样,以便在选择chromecast接收器应用时获得回调
val mMediaRouterCallback = object : MediaRouter.Callback() {
override fun onRouteSelected(router: MediaRouter?, route: MediaRouter.RouteInfo?) {
routeInfo = route
}
override // override appropriate methods here!!
}
val mMediaRouteSelector = MediaRouteSelector.Builder()
.addControlCategory(
CastMediaControlIntent
.categoryForCast(BuildConfig.CHROMECAST_RECEIVER_APP_ID)
).build()
MediaRouter.getInstance(context).addCallback(
mMediaRouteSelector, mMediaRouterCallback,
MediaRouter.CALLBACK_FLAG_PERFORM_ACTIVE_SCAN
)
构建选择器以用于多个应用程序。可以更改MediaRouter.CALLBACK_FLAG_PERFORM_ACTIVE_SCAN
来扩大扫描范围。