AndroidTV TvInputService 实现

AndroidTV TvInputService Implementation

我在实施 TvInputService 时遇到问题。

我有来自服务器的有关频道的所有信息(end/start 次、Uri 地址、ID、名称等。)

我的 objective 是创建一个应用程序来根据从服务器获得的信息设置流媒体频道。 我尝试了这个 http://developer.android.com/training/tv/tif/tvinput.html ... 即使我了解理论(大部分),我对此仍然是新手,因为该网站没有提供编码示例和详尽的解释,这真的很令人沮丧。 我还尝试了 android 提供的样本,但这对我想要做的事情来说太复杂了,它只会让我更加困惑。

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

基于此documentation, those implementing TV input services should normally do so by deriving from this class and providing their own session implementation based on 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

您可能想使用我的库,ChannelSurfer,它大大简化了电视输入服务的开发。

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

  1. 声明可以访问哪些频道。
  2. 声明每个频道将播放什么节目
  3. 当用户调到您的频道时,视频将如何显示

这通常通过 SyncAdapter 和服务完成,尽管这个库将所有内容归结为您根据自己的规范创建的单个 class。

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

我在尝试安装频道后得到 "Unable to start auto-scan for 'Authorization' "。我正在使用来自 ChannelSurfer 的文件,设法使提供者和希望的设置(仍然对此感到困惑),但我被困在这部分......控制台没有抛出一个错误,但电视说了上面的声明。为什么会发生这种情况,可能的修复方法是什么?