Search code examples
javaandroidcastinggoogle-castgoogle-cast-sdk

Invalid application ID Crash in Google Cast SDK


I have a valid app id which I got from Google Cast Developer.
Few Days ago it was working fine, but suddenly it started crashing and throwing

Invalid Application ID: Settings

This is the CastOptionsProvider code which I got if from google cast sample app

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;
    }
}

And this is the code which I am using in my Activity to setup the cast

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
    }

This is my Crash Log:

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)

I tried different approaches by generating new app id from console and using that one, but it's still showing the same error

Note: This app was working fine few days ago with the same code setup and now it's crashing

Why this kind of behavior happening? Any help would be appreciated


Solution

  • By cleaning the projects it removed the Invalid Application ID error

    Yeah, resources get out of sync sometimes. Best to clean periodically when getting weird exceptions that didn't exist before.