【问题标题】:Supporting Android TV and reusing main activity支持 Android TV 并重用 main Activity
【发布时间】:2016-02-25 21:06:55
【问题描述】:

我希望 Android TV 支持我的应用(该应用目前支持手机和平板电脑)

主要活动非常基本,虽然它确实有两个文本输入(用于帐户登录),但我确信它可以在 Android TV 上使用(似乎可以在模拟器上运行,但要在真正的 Android TV 上进行测试)。

那么在这种情况下,在我的清单中,我应该为LAUNCHERLEANBACK_LAUNCHER 设置一个意图吗?

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

【问题讨论】:

  • 如果你想为两种形式使用一个活动,是的,你可以设置两个意图过滤器。

标签: android android-intent android-tv


【解决方案1】:

您需要指定两个类别:

<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>

顺便说一句,不建议使用相同的活动布局:

如果您正在修改现有应用以在电视上使用,您的应用应该 不要对电视使用与手机相同的活动布局,并且 片剂。您的电视应用程序的用户界面(或您的电视部分 现有的应用程序)应该提供一个更简单的界面,可以很容易地 在沙发上使用遥控器进行导航。有关指南 为电视设计应用程序,请参阅TV Design 指南。了解更多信息 关于界面布局的最低实现要求 电视,见Building TV Layouts

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

【讨论】:

  • 是的,但是 OP 可以将电视布局放在 layout-television 资源文件夹中,或者使用 UIManager 类来更改 Activity 的运行方式(如果它是电视)。
  • 老实说,主要活动的界面非常简单。它目前是一个基本的登录表单,但在不久的将来,我将使用网络应用程序将其更改为“无钥匙”PIN 码登录系统(我已经将这种方法用于 webOS 应用程序)
  • 当然,我只是提醒一下 Android TV 指南。在您的情况下,您可以指定答案中所述的两个类别。
【解决方案2】:

不要忘记“声明 Leanback 支持”

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

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

【讨论】:

    猜你喜欢
    • 2023-03-17
    • 1970-01-01
    • 2015-04-29
    • 2017-09-02
    • 1970-01-01
    • 2021-02-25
    • 1970-01-01
    • 2016-07-16
    • 1970-01-01
    相关资源
    最近更新 更多