我正在尝试创建一个同时支持 Android(手机/平板电脑)和 AndroidTV 的 AndroidStudio 项目。目标是在手机/平板电脑和 AndroidTV 上拥有类似的功能,而一个不需要另一个操作,并重用代码。
当我创建一个新项目时,我是否:
- a) 勾选“手机和平板电脑”以及“电视”?
- b) 勾选“手机和平板电脑”并根据本指南进行改造:https ://developer.android.com/training/tv/start/start.html
- c) 勾选“TV”并改造主要活动?
我试过 b) 但手机 (5.0) 和 ADT-1 的布局相同。
下面是我的清单文件(MainActivity 放在 MainActivityTV 之前)。当我运行它时,电话和 ADT-1 都会加载电话布局。但是,当我将 MainActivityTV 放在 MainActivity 之前时,我的手机和 ADT-1 都会加载leanback 布局。如何让手机只加载 MainActivity,而 ADT-1 只加载 MainActivityTV?
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.androidretrofitwithtv" >
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<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:banner="@drawable/app_icon_your_company"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".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=".MainActivityTV"
android:label="@string/app_name"
android:configChanges="keyboard|keyboardHidden|navigation"
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>
<activity android:name=".DetailsActivity" />
<activity android:name=".PlaybackOverlayActivity" />
<activity android:name=".BrowseErrorActivity" />
</application>
</manifest>