Google Cast SDK3 Android示例应用程序在低于5.0的设备上崩溃

Google Cast SDK3 Android示例应用程序在低于5.0的设备上崩溃,第1张

概述Ive尝试了GoogleCastAndroid示例应用程序,但在低于5.0的设备上崩溃了.有人知道为什么吗?以下是我的崩溃日志:08月30日12:38:57.242:E/AndroidRuntime(16269):原因:java.lang.RuntimeException:com.google.android.gms.internal.zzsb$zza:找不到可接受的模块.本地版本为0,远程版本为0.

Ive尝试了Google Cast Android示例应用程序,但在低于5.0的设备上崩溃了.
有人知道为什么吗?以下是我的崩溃日志:

08月30日12:38:57.242:E / AndroIDRuntime(16269):原因:java.lang.RuntimeException:
com.Google.androID.gms.internal.zzsb $zza:找不到可接受的模块.本地版本为0,远程版本为0.
08月30日12:38:57.242:E / AndroIDRuntime(16269):位于com.Google.androID.gms.internal.zzni.zzbg(未知源)
08月30日12:38:57.242:E / AndroIDRuntime(16269):位于com.Google.androID.gms.internal.zzni.zza(未知来源)
08月30日12:38:57.242:E / AndroIDRuntime(16269):在com.Google.androID.gms.cast.framework.CastContext.
没有加一

解决方法:

最新的Cast SDK进行了更改,使其与旧版Google Play服务不兼容(崩溃).
不幸的是,当使用最新的Cast SDK和过时的GPS(或在模拟器上)时,甚至Cast示例应用程序也会崩溃.
问题已在此处讨论:https://github.com/googlecast/CastVideos-android/issues/12

解决方案是在初始化包括小型控制器在内的任何演员表组件之前检查Google Play服务的版本(即,您不能只是将小型控制器片段放入xml布局文件中-您必须动态地对其进行充气,或者具有两个布局文件-一个有一个,而没有您的迷你控制器).

检查GPS版本的代码:

GoogleAPIAvailability APIAvailability = GoogleAPIAvailability.getInstance();int resultCode = APIAvailability.isGooglePlayServicesAvailable(context);isGPSAvailable = (resultCode == ConnectionResult.SUCCESS);

如果结果不是ConnectionResult.SUCCESS,则不要初始化MiniControllerFragment,也不要访问CastContext.

另外,请记住,无法使用新的MiniControllerFragment()实例化MiniControllerFragment.您必须从xml对其进行充气,否则将获得NullPointerException.

有两种方法可以膨胀MiniControllerFragment:

>创建单独的xml布局文件,并在Activity.onCreate中添加适当的文件:

setContentVIEw(isGPSAvailable ? R.layout.activity_main_with_controller : R.layout.activity_main_without_controller);

>在布局中创建指向MiniControllerFragment的VIEwStub,仅在具有播放服务时才对其进行充气.

活动布局:

<VIEwStubandroID:ID="@+ID/cast_minicontroller"androID:layout_wIDth="match_parent"androID:layout_height="wrap_content"androID:layout="@layout/cast_mini_controller_fragment"/>

cast_mini_controller_fragment:

<?xml version="1.0" enCoding="utf-8"?><fragment xmlns:androID="http://schemas.androID.com/apk/res/androID"          androID:ID="@+ID/castMiniController"                    androID:layout_wIDth="match_parent"          androID:layout_height="wrap_content"          androID:visibility="gone"/>

您的活动onCreate()中的代码:

VIEwStub miniControllerStub = (VIEwStub) findVIEwByID(R.ID.cast_minicontroller);if (isGPSAvailable) {    miniControllerStub.inflate();}

我更喜欢VIEwStub方法,因为它不会重复您的布局.

总结

以上是内存溢出为你收集整理的Google Cast SDK3 Android示例应用程序在低于5.0的设备上崩溃全部内容,希望文章能够帮你解决Google Cast SDK3 Android示例应用程序在低于5.0的设备上崩溃所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1095610.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存