Android L Youtube API - IllegalArgumentException: Service Intent must be explicit
Posted
技术标签:
【中文标题】Android L Youtube API - IllegalArgumentException: Service Intent must be explicit【英文标题】: 【发布时间】:2015-01-26 06:40:34 【问题描述】:我知道在 L 上我只能绑定声明为显式的服务。在我的应用中,我目前正在使用 Youtube API,当在带有 L 的设备上运行时,我总是会收到此错误
java.lang.IllegalArgumentException: Service Intent must be explicit: Intent act=com.google.android.youtube.api.service.START
如何解决这个问题,让 Youtube API 也可以在 L 上运行?
【问题讨论】:
【参考方案1】:有一个新版本的 Youtube API (1.2.1) 可以解决这个问题。可以从here下载。
如果您出于某种原因需要使用旧版本,请继续阅读:
Lollipop 中的 Youtube API v1.0.0 中存在一个错误。更多信息here 和here。
作为一种解决方法,您可以在清单中使用 android:targetSdkVersion="19" 同时 维护 API 21 作为构建目标(您仍然可以使用项目中的 Lollipop API)。
【讨论】:
这为我解决了这个问题 有一个新版本的 Youtube API (1.2.1) 可以解决这个问题。 不断在开发者密钥上崩溃。这有帮助。【参考方案2】:*更新* 新的 android youtube SDK 已经发布!不再有隐含意图问题:
https://developers.google.com/youtube/android/player/downloads/
【讨论】:
【参考方案3】:只需将旧的 Youtube Api 替换为 最新的 Youtube Api 版本
【讨论】:
【参考方案4】:** 更新:2018.12.06 :: 下面的链接不再有效 ** 这适用于我的计费 API。
http://blog.android-develop.com/2014/10/android-l-api-21-javalangillegalargumen.html?m=1
【讨论】:
谢谢,但我无法使用 Youtube api 获得导致错误的意图。有没有办法修改 .jar 文件中的类? 我怀疑这会有点困难。如果可能的话,最好的办法是联系 .jar 的作者。祝你好运!以上是关于Android L Youtube API - IllegalArgumentException: Service Intent must be explicit的主要内容,如果未能解决你的问题,请参考以下文章
无法使用 YouTube Android Player API 播放某些 Youtube 视频
Youtube API v3 使用 webView 在 Android 上创建 Youtube 频道