【问题标题】:Invalid application ID Crash in Google Cast SDKGoogle Cast SDK 中的无效应用程序 ID 崩溃
【发布时间】:2017-11-20 22:19:26
【问题描述】:

我有一个从 Google Cast Developer 获得的有效应用 ID。
几天前它工作正常,但突然开始崩溃并抛出

无效的应用程序 ID:设置

这是我从 google cast 示例应用中获得的 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;
    }
}

这是我在 Activity 中用来设置演员表的代码

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 并使用该方法,但它仍然显示相同的错误

注意:该应用几天前使用相同的代码设置运行良好,但现在崩溃了

为什么会发生这种行为?任何帮助将不胜感激

【问题讨论】:

  • 您是否在最近升级的 Gradle 依赖项中使用了 + 版本?
  • 不..这些是依赖compile 'com.android.support:mediarouter-v7:25.2.0' compile 'com.google.android.gms:play-services-cast-framework:10.2.0' compile 'com.googlecode.android-query:android-query:0.25.9'
  • context.getString(R.string.app_id) 是否已更改为“设置”?
  • 哪个“设置”? app_id 在我的 string.xml 文件中
  • 天啊!!!清理和重建工程..通过清理项目,它删除了无效的应用程序 ID 错误,它抛出了我的代码中的真正错误,我现在解决了..谢谢 man

标签: java android casting google-cast google-cast-sdk


【解决方案1】:

通过清理项目,它消除了 Invalid Application ID 错误

是的,资源有时会不同步。当遇到以前不存在的奇怪异常时,最好定期清理。

【讨论】:

  • Android Studio 的第一条法则是,如果您的项目出现异常情况,请清理并重建项目
  • 几乎和“你尝试重启了吗”一样常见
猜你喜欢
  • 2014-04-14
  • 2016-12-28
  • 1970-01-01
  • 1970-01-01
  • 2023-03-06
  • 1970-01-01
  • 2017-04-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多