android 单击 Cast Mini Controller 时应用崩溃
android app crashing while clicking on Cast Mini Controller
我正在开发一个使用 Chromecast 的 Android 应用程序。该视频在 Chromecast 上流式传输,扩展控制器也能正常工作,但单击 minicontroller 应用程序崩溃。这是我的日志
java.lang.NullPointerException: class name is null
at android.content.ComponentName.<init>(ComponentName.java:63)
at com.google.android.gms.cast.framework.media.uicontroller.UIMediaController.onLaunchExpandedControllerClicked(Unknown Source)
at com.google.android.gms.cast.framework.media.uicontroller.zzg.onClick(Unknown Source)
at android.view.View.performClick(View.java:4473)
at android.view.View$PerformClick.run(View.java:18780)
at android.os.Handler.handleCallback(Handler.java:808)
at android.os.Handler.dispatchMessage(Handler.java:103)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:5292)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:824)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:640)
at dalvik.system.NativeStart.main(Native Method)
我在 XML
中添加了以下片段定义
<fragment
android:id="@+id/castMiniController"
class="com.google.android.gms.cast.framework.media.widget.MiniControllerFragment"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:visibility="gone" />
这是我的依赖项
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:appcompat-v7:26.2.1'
compile 'com.android.support:mediarouter-v7:v7:26.2.1'
compile 'com.google.android.gms:play-services-cast-framework:15.0.1'
compile 'com.googlecode.android-query:android-query:0.25.9'
}
Gradle 版本为 3.1.2。注意:我遵循标准程序,没有自定义代码。如有任何建议,我们将不胜感激。
如果您没有在 CastOptions class 中启动 NotificationOptions 和 CastMediaOptions,情况可能就是这样。请在您的 class CastOptions 中添加此行:
NotificationOptions notificationOptions = new NotificationOptions.Builder()
.setTargetActivityClassName(ExpandedControlsActivity.class.getName())
.build();
CastMediaOptions mediaOptions = new CastMediaOptions.Builder()
.setNotificationOptions(notificationOptions)
.setExpandedControllerActivityClassName(ExpandedControlsActivity.class.getName())
.build();
请参考linkhttps://codelabs.developers.google.com/codelabs/cast-videos-android/#9
我正在开发一个使用 Chromecast 的 Android 应用程序。该视频在 Chromecast 上流式传输,扩展控制器也能正常工作,但单击 minicontroller 应用程序崩溃。这是我的日志
java.lang.NullPointerException: class name is null
at android.content.ComponentName.<init>(ComponentName.java:63)
at com.google.android.gms.cast.framework.media.uicontroller.UIMediaController.onLaunchExpandedControllerClicked(Unknown Source)
at com.google.android.gms.cast.framework.media.uicontroller.zzg.onClick(Unknown Source)
at android.view.View.performClick(View.java:4473)
at android.view.View$PerformClick.run(View.java:18780)
at android.os.Handler.handleCallback(Handler.java:808)
at android.os.Handler.dispatchMessage(Handler.java:103)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:5292)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:824)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:640)
at dalvik.system.NativeStart.main(Native Method)
我在 XML
中添加了以下片段定义<fragment
android:id="@+id/castMiniController"
class="com.google.android.gms.cast.framework.media.widget.MiniControllerFragment"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:visibility="gone" />
这是我的依赖项
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:appcompat-v7:26.2.1'
compile 'com.android.support:mediarouter-v7:v7:26.2.1'
compile 'com.google.android.gms:play-services-cast-framework:15.0.1'
compile 'com.googlecode.android-query:android-query:0.25.9'
}
Gradle 版本为 3.1.2。注意:我遵循标准程序,没有自定义代码。如有任何建议,我们将不胜感激。
如果您没有在 CastOptions class 中启动 NotificationOptions 和 CastMediaOptions,情况可能就是这样。请在您的 class CastOptions 中添加此行:
NotificationOptions notificationOptions = new NotificationOptions.Builder()
.setTargetActivityClassName(ExpandedControlsActivity.class.getName())
.build();
CastMediaOptions mediaOptions = new CastMediaOptions.Builder()
.setNotificationOptions(notificationOptions)
.setExpandedControllerActivityClassName(ExpandedControlsActivity.class.getName())
.build();
请参考linkhttps://codelabs.developers.google.com/codelabs/cast-videos-android/#9