0
点赞
收藏
分享

微信扫一扫

Android TV 笔记


声明一个TV Activity

一个应用想要运行在TV设备中,必须在它的manifest中定义一个启动activity,用intent filter包含​​CATEGORY_LEANBACK_LAUNCHER​​。这个filter表明你的应用是在TV上可用,并且为Google Play上发布TV应用所必须。定义这个intent也意味着点击主屏幕的应用图标时,就是打开的这个activity。

接下来的代码片段显示如何在manifest中包含这个intent filter:

<application
android:banner="@drawable/banner" >
...
<activity
android:name="com.example.android.MainActivity"
android:label="@string/app_name" >

<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>

<activity
android:name="com.example.android.TvActivity"
android:label="@string/app_name"
android:theme="@style/Theme.Leanback">

<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LEANBACK_LAUNCHER" />
</intent-filter>

</activity>
</application>

例子中第二个activity manifest定义的activity是TV设备中的一个启动入口。

Caution:如果在你的应用中不包含​​CATEGORY_LEANBACK_LAUNCHER​​ intent filter,它不会出现在TV设备的Google Play商店中。并且,即使你把不包含此filter的应用用开发工具装载到TV设备中,应用仍然不会出现在TV用户界面上。

如果你正在为TV设备修改现有的应用,就不应该与手机和平板用同样的activity布局。TV的用户界面(或者现有应用的TV部分)应该提供一个更简单的界面,更容易坐在沙发上用遥控器操作。TV应用设计指南,参考​​TV Design​​​指导。查看TV界面布局的最低要求,参考:​​Building TV Layouts​​。

声明Leanback支持

Android TV需要你的应用使用Leanback用户界面。如果你正在开发一个运行在移动设备(手机,可穿戴,平板等等)也包括TV的应用,设置​​required​​属性为​​false​​。因为如果设置为​​true​​,你的应用将仅能运行在用Leanback UI的设备上。

<manifest>
<uses-feature android:name="android.software.leanback"
android:required="false" />
...
</manifest>

声明不需要触屏

运行在TV设备上的应用不依靠触屏去输入。为了清楚表明这一点,TV应用的manifest必须声明​​android.hardware.touchscreen​​为不需要。这个设置表明应用能够工作在TV设备上,并且也是Google Play认定你的应用为TV应用的要求。接下来的示例代码展示这个manifest声明:

<manifest>
<uses-feature android:name="android.hardware.touchscreen"
android:required="false" />
...
</manifest>

Caution:必须在manifest中声明触屏是不需要的,否则应用不会出现在TV设备的Google Play商店中。

提供一个主屏幕横幅

如果应用包含一个Leanback的intent filter,它必须提供每个语言的主屏幕横幅。横幅是出现在应用和游戏栏的主屏的启动点。在manifest中这样描述横幅:

<application
...
android:banner="@drawable/banner" >

...
</application>

在​​​application​​​中添加​​​android:banner​​​属性为所有的应用activity提供默认的横幅,或者在特定activity的​​​activity​​​中添加横幅。

在UI模式和TV设计指导中查看​​Banners​​。

举报

相关推荐

0 条评论