2014-04-03 3 views
0

내 기기가 갑자기 절반 이상 떨어져 내 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.+" 

} 어떤 경로를 찾을 4.3 넥서스 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

내가 생각해 낸 해결책은 공장에서 모든 chromecast를 찾지 못하는 장치를 재설정하는 것이 었습니다. Google Play 서비스에서 캐시를 비우는 것이 해결되지 않는다고 가정합니다. GMS를 다시 설치하는 것은 옵션이 아니기 때문에 다시 포맷하는 것이 유일한 옵션이었습니다.