2017-06-18 62 views
-1

我有一個從Google Cast Developer獲得的有效應用ID。
前幾天工作正常,但突然它開始崩潰和投擲Google Cast SDK中的應用ID失效

無效應用程序ID:設置

這是CastOptionsProvider代碼,我如果從谷歌投示例應用程序

public class CastOptionsProvider implements OptionsProvider { 

    @Override 
    public CastOptions getCastOptions(Context context) { 
     NotificationOptions notificationOptions = new NotificationOptions.Builder() 
       .setTargetActivityClassName(ExpandedControlsActivity.class.getName()) 
       .build(); 
     CastMediaOptions mediaOptions = new CastMediaOptions.Builder() 
       .setNotificationOptions(notificationOptions) 
       .setExpandedControllerActivityClassName(ExpandedControlsActivity.class.getName()) 
       .build(); 

     return new CastOptions.Builder() 
       .setReceiverApplicationId(context.getString(R.string.app_id)) 
       .setCastMediaOptions(mediaOptions) 
       .build(); 
    } 

    @Override 
    public List<SessionProvider> getAdditionalSessionProviders(Context context) { 
     return null; 
    } 
} 

這是我用我的活動設置投

該代碼
private void setUpCast() { 
     mCastStateListener = new CastStateListener() { 
      @Override 
      public void onCastStateChanged(int newState) { 
       if (newState != CastState.NO_DEVICES_AVAILABLE) { 
        showIntroductoryOverlay(); 
       } 
      } 
     }; 

     mCastContext = CastContext.getSharedInstance(this);//App Crashes here 
    } 

這是我的崩潰日誌:

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.my.packagname/com.my.packagname.activities.DashboardActivity}: java.lang.IllegalArgumentException: Invalid application ID: Settings 
                     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2585) 
                     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2667) 
                     at android.app.ActivityThread.-wrap11(ActivityThread.java) 
                     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1494) 
                     at android.os.Handler.dispatchMessage(Handler.java:111) 
                     at android.os.Looper.loop(Looper.java:207) 
                     at android.app.ActivityThread.main(ActivityThread.java:5776) 
                     at java.lang.reflect.Method.invoke(Native Method) 
                     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:789) 
                     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:679) 
                    Caused by: java.lang.IllegalArgumentException: Invalid application ID: Settings 
                     at com.google.android.gms.cast.CastMediaControlIntent.zza(Unknown Source) 
                     at com.google.android.gms.cast.CastMediaControlIntent.categoryForCast(Unknown Source) 
                     at com.google.android.gms.internal.zzww.zza(Unknown Source) 
                     at com.google.android.gms.internal.zzww.<init>(Unknown Source) 
                     at com.google.android.gms.cast.framework.CastContext.<init>(Unknown Source) 
                     at com.google.android.gms.cast.framework.CastContext.getSharedInstance(Unknown Source) 

我通過生成從控制檯的新應用程序ID和使用一個嘗試不同的方法,但它仍然顯示了同樣的錯誤

注意:這個程序是幾天前用相同的代碼設置工作良好,現在它崩潰了

爲什麼會發生這種行爲?任何幫助,將不勝感激

+0

您在最近升級的Gradle依賴項中使用了「+」版本嗎? –

+0

Nope ..這些是依賴關係 'compile'c​​om.android.support:mediarouter-v7:25.2.0' compile'c​​om.google.android.gms:play-services-cast-framework:10.2.0' 編譯'com.googlecode.android-query:android-query:0.25.9'' –

+0

已將'context.getString(R.string.app_id)'改爲「Settings」? –

回答

2

通過清理項目它去掉了無效的應用程序ID錯誤

呀,資源不同步的時候。當得到之前不存在的奇怪異常時,最好定期清理。

+1

Android Studio的第一條法則是,如果在你的項目中有些奇怪請清理並重建項目 –

+0

幾乎與「你試過重啓」 –

相關問題