2014-04-03 65 views
0

突然有一半设备已停止找到我正在测试的Chromecast。我认为这是我改变了的一些代码,所以我决定做一个可以找到媒体路线的裸机。此实现只适用于我的东芝Thrive 4.0.4,但不适用于任何其他设备。我认为这是我的网络,所以我重置了路由器,当那个没有工作时,我买了一个新的路由器,但也失败了。我的同事们测试了这个apk,它可以在不同网络上的设备上使用不同的chromecast。我的出厂重置了我的Chromecast并验证了我的所有设备都使用了最新版本的Google Play服务。应用程序未找到Chromecast

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.+" 

}从4.3的Nexus 7

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

日志该发现没有路由 https://gist.github.com/darussian/9957516

从4.0.4东芝

日志茁壮成长找到路线 https://gist.github.com/darussian/9957547

这两个日志是一样的APK。任何帮助是极大的赞赏。

回答

0

我提出的解决方案是Factory重置所有未找到Chromecast的设备。我假设某些内容在Google Play服务中缓存,无法解决缓存问题。由于重新安装GMS不是一个选项,重新格式化是唯一的选择。

相关问题