【发布时间】: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