应用找不到 chromecast

Posted

技术标签:

【中文标题】应用找不到 chromecast【英文标题】:App not finding chromecast 【发布时间】:2014-04-03 16:17:19 【问题描述】:

突然间,我的一半设备无法找到我正在测试的 Chromecast。我认为这是我更改的一些代码,所以我决定做一个简单的实现来找到媒体路由。此实现仅适用于我的 4.0.4 Toshiba Thrive,但不适用于任何其他设备。我以为是我的网络所以我重置了路由器,当它不起作用时,我买了一个新的路由器,但也失败了。我的同事已经测试了 apk,它可以在具有不同 chromecast 的不同网络上的设备上运行。我已将我的 chromecast 恢复出厂设置,并确认我的所有设备都使用最新版本的 Google Play 服务。

public class CastTestActivity extends FragmentActivity 

@Override
protected void onCreate(Bundle savedInstanceState) 
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_cast_test);

    MediaRouter mediaRouter = MediaRouter.getInstance(this);
    MediaRouteSelector mediaRouteSelector = new MediaRouteSelector.Builder().addControlCategory(CastMediaControlIntent.categoryForCast("XXXXXXXX")).build();

    mediaRouter.addCallback(mediaRouteSelector, new MediaRouter.Callback() 

        @Override
        public void onRouteAdded(MediaRouter router, MediaRouter.RouteInfo route) 
            super.onRouteAdded(router, route);
            Log.d("ROUTE_ADDED", String.valueOf(route));
        

        @Override
        public void onRouteRemoved(MediaRouter router, MediaRouter.RouteInfo route) 
            super.onRouteRemoved(router, route);
            Log.d("ROUTE_REMOVED", String.valueOf(route));
        
        @Override
        public void onRouteSelected(MediaRouter router, MediaRouter.RouteInfo route) 
            super.onRouteSelected(router, route);
            Log.d("ROUTE_SELECTED", String.valueOf(route));

        

        @Override
        public void onRouteUnselected(MediaRouter router, MediaRouter.RouteInfo route) 
            super.onRouteUnselected(router, route);
            Log.d("ROUTE_UNSELECTED", String.valueOf(route));
        


        @Override
        public void onRouteChanged(MediaRouter router, MediaRouter.RouteInfo route) 
            super.onRouteChanged(router, route);
            Log.d("ROUTE_CHANGED", String.valueOf(route));
        

        @Override
        public void onRouteVolumeChanged(MediaRouter router, MediaRouter.RouteInfo route) 
            super.onRouteVolumeChanged(router, route);
            Log.d("ROUTE_VOLUME", String.valueOf(route));
        

        @Override
        public void onProviderAdded(MediaRouter router, MediaRouter.ProviderInfo provider) 
            super.onProviderAdded(router, provider);
            Log.d("ROUTE_PROVIDER_ADDED", String.valueOf(provider));
        

        @Override
        public void onProviderRemoved(MediaRouter router, MediaRouter.ProviderInfo provider) 
            super.onProviderRemoved(router, provider);
            Log.d("ROUTE_PROVIDER_REMOVED", String.valueOf(provider));
        

        @Override
        public void onProviderChanged(MediaRouter router, MediaRouter.ProviderInfo provider) 
            super.onProviderChanged(router, provider);
            Log.d("ROUTE_PROVIDER_CHANGED", String.valueOf(provider));
        
    , MediaRouter.CALLBACK_FLAG_PERFORM_ACTIVE_SCAN);

    MediaRouteButton button = (MediaRouteButton) findViewById(R.id.media_route_button);
    button.setRouteSelector(mediaRouteSelector);


dependencies 
compile fileTree(dir: 'libs', include: '*.jar')
compile 'com.android.support:appcompat-v7:19.0.+'
compile 'com.android.support:mediarouter-v7:19.0.+'
compile 'com.google.android.gms:play-services:4.2.+'
...

android 

defaultConfig 
    minSdkVersion 9
    targetSdkVersion 19


compileSdkVersion 19
buildToolsVersion "19.0.+"

    <uses-sdk
    android:minSdkVersion="9"
    android:targetSdkVersion="19" />

4.3 Nexus 7 中找不到路由的日志 https://gist.github.com/darussian/9957516

来自 4.0.4 Toshiba Thrive 的日志,用于查找路线 https://gist.github.com/darussian/9957547

这两个日志是同一个 apk。非常感谢任何帮助。

【问题讨论】:

【参考方案1】:

我想出的解决方案是出厂重置我所有未找到 chromecast 的设备。我假设某些内容缓存在 Google Play 服务中,清除缓存无法解决。由于重新安装 GMS 不是一个选项,因此重新格式化是唯一的选项。

【讨论】:

以上是关于应用找不到 chromecast的主要内容,如果未能解决你的问题,请参考以下文章

为 Chromecast 设置加载图标

适用于 Android 应用 (AS3) 的 Chromecast 和 Air

Chromecast - 如何使用 android 为视频添加字幕

Chromecast - 网址格式

从接收器获取基于帧的时间码 (Chromecast)

EXCEL提示找不到应用程序