AndroidTV TvInputService实现

时间:2016-04-13 13:31:28

标签: android android-tv

我遇到了实施TvInputService的问题。

我从服务器获得有关频道的所有信息(结束/开始时间,Uri地址,ID,姓名等)。

我的目标是创建一个应用程序,根据从服务器获取的信息设置流媒体频道。 我尝试了这个http://developer.android.com/training/tv/tif/tvinput.html ...即使你理解这个理论(大多数),我仍然是新手,因为网站没有提供编码示例和对它的详尽解释,这真的令人沮丧。 我也尝试过android提供的Sample,但这对于我想做的事情来说太复杂了,而且它让我更加困惑。

有人可以通过一些关于TvInputService实现的例子来解释(简单的方法,如果可能的话)吗?谢谢!

3 个答案:

答案 0 :(得分:1)

您可能希望使用我的库ChannelSurfer,这极大地简化了电视输入服务的开发。

创建输入服务需要执行几个主要步骤。

  1. 声明可以访问的频道。
  2. 声明将在每个频道播放的节目
  3. 当用户收听您的频道时,视频将如何显示
  4. 这通常是通过SyncAdapters和服务完成的,尽管这个库将所有内容都归结为您根据自己的规范创建的单个类。

    如果您需要更多帮助,还有一个示例应用。

答案 1 :(得分:0)

根据这个documentation,那些实现电视输入服务的人通常应该从这个类派生并根据TvInputService.Session提供他们自己的会话实现。

您的应用清单必须声明您的TvInputService,然后指定BIND_TV_INPUT权限,以允许服务将电视输入连接到系统。

<service android:name="com.example.sampletvinput.SampleTvInput"
    android:label="@string/sample_tv_input_label"
    android:permission="android.permission.BIND_TV_INPUT">
    <intent-filter>
        <action android:name="android.media.tv.TvInputService" />
    </intent-filter>
    <meta-data android:name="android.media.tv.input"
      android:resource="@xml/sample_tv_input" />
</service>

您可以在GitHub上查看此example

答案 2 :(得分:0)

在尝试安装频道后,我收到“无法启动'授权'的自动扫描”。我正在使用来自ChannelSurfer的文件,设法使提供者和HOPEFULY设置(仍然对此感到困惑),但我仍然坚持这一部分...控制台不会抛出一个错误,但电视说上面的声明。为什么会发生这种情况?可能的修复方法是什么?