我们可以创建在 Android TV、平板电脑和 Android 手机上运行的应用程序吗?

Posted

技术标签:

【中文标题】我们可以创建在 Android TV、平板电脑和 Android 手机上运行的应用程序吗?【英文标题】:Can we create application which run on Android TV ,tablet and Android Phones? 【发布时间】:2021-07-12 15:45:03 【问题描述】:

我只是想知道我可以创建一个可以在 android TV、平板电脑和 Android 智能手机上运行的 android studio 项目吗?

【问题讨论】:

请先阅读问题,我想创建一个应用程序,在一个项目中运行所有三个平台的电视、平板电脑和移动设备。 【参考方案1】:

是的,你可以。在开始新项目时,可以选择手机和平板电脑、Wear OS、Android TV 等模板,如下图所示。

【讨论】:

它仅适用于手机和平板电脑。电视呢? @PankajJangid 您可以在上图中选择 Android TV 3rd 标签来创建电视应用。【参考方案2】:

您需要实现leanback 支持库才能使您的应用支持Android TV。

查看this了解实施步骤。

【讨论】:

leanback 库不是在电视上运行应用程序的必要条件;它只是提供模板以简化流程。【参考方案3】:

是的,你可以。您的应用需要为移动设备和 Android TV 声明 Intent 过滤器。通常这些应该是不同的 Activity,因为 UI 通常是不同的,但如果您基于设备以编程方式选择正确的 UI,它们也可以指向相同的 Activity。

这是清单的一个示例:

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

如果您要开始一个全新的 Android Studio 项目,我建议您先从移动模板开始,然后手动更新清单。请参阅getting started guide 了解更多信息,包括意图过滤器、横幅、“后仰”功能等。

【讨论】:

以上是关于我们可以创建在 Android TV、平板电脑和 Android 手机上运行的应用程序吗?的主要内容,如果未能解决你的问题,请参考以下文章

仅适用于 Android TV 的 Android 清单 - 支持的设备太少?

支持 Android TV 并重用 main Activity

Smart TV、Android TV 和 Fire TV 的一种语言

对 Android TV 和手机的多个 apk 支持

Android 应用在 Amazon Fire TV 中无响应

Android TV 应用程序不支持 Amazon FireTV