支持 Android TV 并重复使用 main activity

Supporting Android TV and reusing main activity

我有一个应用程序希望得到 Android 电视的支持(该应用程序目前支持 phone 和平板电脑)

主要 activity 非常基本,虽然它有两个文本输入(用于帐户登录),但我确定它可以在 Android 电视上使用(似乎可以在模拟器,尚未在真正的 Android 电视上进行测试)。

所以在这种情况下,在我的清单中,我是否应该为 LAUNCHERLEANBACK_LAUNCHER 设置意图?

或者我应该只为 LEANBACK_LAUNCHER 设置意图?

您需要指定两个类别:

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

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

BTW不推荐使用相同的activity布局:

If you are modifying an existing app for use on TV, your app should not use the same activity layout for TV that it does for phones and tablets. The user interface of your TV app (or TV portion of your existing app) should provide a simpler interface that can be easily navigated using a remote control from a couch. For guidelines on designing an app for TV, see the TV Design guide. For more information on the minimum implementation requirements for interface layouts on TV, see Building TV Layouts.

Reference:
http://developer.android.com/training/tv/start/start.html#tv-activity

不要忘记“声明 Leanback 支持”

来自开发者网站“如果您正在开发 运行 手机(手机、可穿戴设备、平板电脑等)以及 Android 电视上的应用,请将 required 属性值设置为 false。如果您将 required 属性值设置为 true,您的应用将 运行 仅在使用 Leanback UI 的设备上。"

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