检测Google Cast的使用情况

时间:2016-02-11 10:59:24

标签: android chromecast google-cast android-tv

如何检测我的 AndroidTV目前来自移动/桌面的Google强接收器

如何从Google Cast Receiver角度检测目前谁是Google强弱发件人

如何检测我的 Android手机目前是否为Google强发件人

2 个答案:

答案 0 :(得分:1)

  1. 您可以使用Android Media Router API请求Cast设备的所有可用路由。然后,您必须连接到每个Cast设备,然后您可以确定应用程序ID,甚至是媒体正在播放。如果您只想知道自己的应用程序是否正在运行,那么只需按此过滤媒体路由器请求。

  2. 只有接收方才知道哪些发件人与之相连。在您自己的自定义接收器中,您可以跟踪自己的应用程序。

  3. 您或许可以使用媒体路由器来确定是否存在活动路由。不确定你是否能够判断它是否是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来扩大扫描范围。