2

在 LG G2 Google TV 上,任何查询频道列表提供商的尝试都会引发此异常:“无效 URI:content://com.google.android.tv.provider/channel_listing”

官方频道更改示例和我自己的代码都是如此,我已经在 Sony GTV buddy box 上演示了这两个代码。

我在这里错过了什么吗?有没有我不知道的LG酱?还是这个简单明了的 LG 错误?

4

2 回答 2

4

更新:将您的 uri 更改为:

GTV 第 3 版

content://com.google.tv.mediadevicesapp.ChannelListingProvider/channel_listing

还:

将所需权限从 com.google.android.tv.permission.READ_CHANNELS 更改为 com.google.android.tv.mediadevices.permission.READ_STREAMS

您返回的数据也会有所不同:

“channel_uri”更改为“url”“channel_name”更改为“name”“channel_number”更改为“channelNumber”“呼号”更改为“subName”

同时支持 v2 和 v3

int version = 0;
try {
    Class cl = Class.forName("com.google.android.tv.Version");
    version = cl.getField("GTV_SDK_INT").getInt(null); }
catch (Exception ex) {}

String contentUri;

if (version == 0) {
    // We're on old (Pre-V3 GoogleTV)
    contentUri = "content://com.google.android.tv.provider/channel_listing";
} else {
    // We're on V3 or newer.
    contentUri = "content://com.google.tv.mediadevicesapp.ChannelListingProvider/channel_listing";
    // or, if you're using the framework library:
    // Uri contentUri = com.google.android.tv.provider.ChannelListingContract.Channels.CHANNEL_LISTING_URI
}

/*

Column names are:

callsign
channel_name
channel_number
channel_uri
data_source

*/
于 2013-01-30T16:52:22.500 回答
0

根据 Google 发布的代码示例,我无法进行任何工作。但我偶然发现了这一点,现在它可以工作了:

http://pastebin.com/CAKBWpCg

似乎如果你有错误的 Uri 或列名,你会得到一个空游标。

于 2014-10-03T04:07:29.740 回答