参考博客:android TV开发
这里选择一个空的TV工程。并从空的Project创建Activity。

创建TV工程

在这里插入图片描述

添加Activity并添加启动项
  1. MainActivityAppCompatActivity修改为Activity
public class MainActivity extends Activity
  1. 修改AndroidManifest.xml,将启动项category由android.intent.category.LAUNCHER更改为android.intent.category.LEANBACK_LAUNCHER,否则无法在Google Play的TV应用商店上架。使用CATEGORY_LEANBACK_LAUNCHER意向过滤器将您的应用标识为已启用电视功能,并让Google Play将其标识为电视应用。
 <activity
 	android:name=".MainActivity"
    android:screenOrientation="landscape">
    <intent-filter>
    	<action android:name="android.intent.action.MAIN" />

        <category android:name="android.intent.category.LEANBACK_LAUNCHER" />
    </intent-filter>
</activity>
声明Leanback支持

如果您要开发在移动设备(手机,可穿戴设备,平板电脑等)以及Android TV上运行的应用程序,请将必需的属性值设置为false。如果将required属性值设置为true,则您的应用程序将仅在使用Leanback UI的设备上运行。

 <uses-feature
        android:name="android.software.leanback"
        android:required="false" />
触摸屏支持

电视设备上运行的应用程序不依赖于触摸屏进行输入。将该属性设为false

<uses-feature
        android:name="android.hardware.touchscreen"
        android:required="false" />
完整的AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.xxx.screen_manager">

    <uses-permission android:name="android.permission.INTERNET" />

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

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/Theme.Screen_manager">
        <activity
            android:name=".MainActivity"
            android:screenOrientation="landscape">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

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

</manifest>
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐