应用找不到 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的主要内容,如果未能解决你的问题,请参考以下文章
适用于 Android 应用 (AS3) 的 Chromecast 和 Air