【发布时间】:2015-04-29 17:16:10
【问题描述】:
我正在尝试创建一个同时支持 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>
【问题讨论】:
-
这当然是受支持的东西,但是您需要针对电视和手机/平板电脑进行单独的活动(电视的leanback 库在手机/平板电脑上不能很好地工作,反之亦然,使用 Material 主题)。你能发布一些代码或你的应用程序是如何崩溃的吗?
-
我从这里 (developer.android.com/training/tv/start/start.html) 用 Android TV 改造了我的空白 Android 应用程序。没有错误。但问题是电话和电视都在加载相同的布局。清单(上图)中出现的第一个活动似乎是两者都出现的。谢谢。
标签: android android-tv