聲明一個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商店中。
提供一個主螢幕橫幅
<application
...
android:banner="@drawable/banner" >
...
</application>