标签: android-tv

在Android上检测4K UHD屏幕

我试图检测设备何时能够以4K UHD(3840x2160)分辨率输出.许多设备(如nVidia Shield TV和Sony Xperia Z5 Premium)都会报告它们以1080p运行,即使它们具有UHD功能,因为它们默认为非视频布局的1080p输出.我需要一些方法来检测它们是否能够区分它们以及像Nexus Player这样的非4K设备.

这是我用来确定当前分辨率的代码:

WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
Display display = wm.getDefaultDisplay();
Point size = new Point();
display.getSize(size);
Run Code Online (Sandbox Code Playgroud)

在Shield TV上,即使ExoPlayer报告它在3840x2160输出视频,也会一直返回1920x1080.

android android-tv

10
推荐指数
1
解决办法
2872
查看次数

如何支持RecyclerView的dpad控件

我目前正在尝试将Android移动应用移植到Android TV.我有一个似乎在我的Android TV应用程序中正确显示的RecyclerView.我正在使用linearLayout作为我的RecyclerView.但我似乎无法使用dpad控件在RecyclerView中导航.

有任何想法吗?

这是有关的xml:

<android.support.v7.widget.RecyclerView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/RecyclerView"
    android:layout_width="240dp"
    android:layout_height="match_parent"
    android:layout_gravity="left"
    android:background="@color/nav_bg"
    android:scrollbars="vertical"
    tools:showIn="@layout/activity_content" />
Run Code Online (Sandbox Code Playgroud)

android d-pad android-tv android-recyclerview

10
推荐指数
2
解决办法
3938
查看次数

Android Studio 上对 Android TV 的 Play 商店支持

我使用 Android Studio,需要一个支持 Play 商店的模拟器来测试开发。但是,我在 Android Studio 的“设备管理器”部分中看不到支持 Play 商店的模拟器。

我必须购买实体 Android TV 设备吗?您对此有什么建议吗?请。

android android-emulator google-play-services android-studio android-tv

10
推荐指数
2
解决办法
1363
查看次数

可以让Android TV应用在亚马逊Fire TV上运行吗?

由于Android TV leanback库显然与SDK级别17兼容,这是亚马逊Fire TV所使用的,我在Android TV应用程序上设置了最低SDK级别,并在我的Fire TV上使用ADB进行安装.它实际上没有任何问题.但是,它不会出现在"设置"中的应用列表中,因此我只能通过ADB启动它.当我尝试在亚马逊开发者控制台中进行实时应用测试时,它甚至都不会安装.

是否有一些设置或我可以更改以使其正常工作?很遗憾没有能够使用leanback库,因为它确实有效,而且因为亚马逊并没有提供任何与之相当的东西.

android-tv amazon-fire-tv

9
推荐指数
1
解决办法
4292
查看次数

如何更改ImageCardView上信息区域的背景颜色?

我正在尝试在选择卡时更改 Android Leanback Library中ImageCardView上infoArea的背景颜色.目前我尝试过的是改变OnItemViewSelectedListener中的背景.这会更改背景,但不会清除以前选择的项目.

private final class ItemViewSelectedListener implements OnItemViewSelectedListener {
        @Override
        public void onItemSelected(Presenter.ViewHolder itemViewHolder, Object item,
                                   RowPresenter.ViewHolder rowViewHolder, Row row) {
            if (item instanceof Video) {
                mBackgroundURI = ((Video) item).getBackgroundImageURI();
                startBackgroundTimer();
                ((ImageCardView) itemViewHolder.view)
                        .setInfoAreaBackgroundColor(getResources().getColor(R.color.dark_blue_grey));
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

我想实现这样的目标:

期望的效果

有任何想法吗?谢谢.

android android-tv leanback

9
推荐指数
2
解决办法
2153
查看次数

Android TV无法启动正确的活动

我有一个应该在手机和电视上运行的应用程序.在清单中,我正在指定手机的启动活动

<activity
    android:name=".view.phone.MainActivity"
    android:launchMode="singleTop"
    android:label="@string/app_name">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
</activity>
Run Code Online (Sandbox Code Playgroud)

和电视的发布活动

<activity
    android:name=".view.leanback.MainActivity"
    android:launchMode="singleTop"
    android:label="@string/app_name"
    android:screenOrientation="landscape" >
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LEANBACK_LAUNCHER" />
    </intent-filter>
</activity>
Run Code Online (Sandbox Code Playgroud)

它不是在LAUNCHER和LEANBACK_LAUNCHER之间进行过滤,而是在清单中首先声明的任何活动.我有什么想法我做错了吗?

android android-manifest android-tv

9
推荐指数
1
解决办法
1106
查看次数

BrowseFragment上的每个标头的多个ListRows - Leanback库

我开始使用Leanback支持我们的应用程序.根据UI要求,我需要添加与每个标题对应的多个列表行,这与Youtube App在Android TV上的行为完全相同.默认ListRowPresenter似乎只渲染一个列表行及其标题.是否有任何支持多个列表行的演示者?我正在考虑在每个项目中嵌入RowsFragment创建自定义演示者的行,如果我的方法错误,请纠正我.在此输入图像描述

android custom-controls android-tv leanback

9
推荐指数
2
解决办法
4437
查看次数

android-tv更改浏览片段行标题的文本颜色和字体

如何在浏览片段中更改行标题的文本颜色和字体?文本不在菜单中,而是出现在行上方的文本.

android-tv leanback

9
推荐指数
2
解决办法
5253
查看次数

Android TV首选项标准

在查看Android TV偏好设置和内置应用程序(如YouTube)时,它们似乎使用标准布局,如下所示:

偏好屏幕1

偏好屏幕2

我找不到在Android TV上实现首选项的任何示例,也找不到任何LeanBack等库中引用的上述布局.

这是我可以重用的"标准"(比如普通的Android PreferenceFragment)还是我必须设计自己的偏好系统?

可以使用LeanBack"BrowseFragment"复制第一个图像,但是使用我迄今为止找到的任何内容都无法实现较低的图像.

android android-tv android-5.0-lollipop

8
推荐指数
1
解决办法
1639
查看次数

多个apk支持Android TV和手机

我在市场上有一个具有minSDK版本9的应用程序,我还开发了具有相同软件包名称的此应用程序的Android TV版本,但API级别重叠.

所以,我的问题是; 如何上传2个不同的apk(电视和手机/平板电脑)相同的包名?Android电视的APK应该只能看电视和Nexus播放器等.其他Apk必须同时只能看到手机和平板电脑.

我确实阅读了有关多个APK支持的所有文档但是当我通过我当前可用的应用程序上传APK for Android TV时,旧版本变得不可用(不兼容)用于手机和平板电脑.

在我的情况下,两个不同的APK具有不同的包名称是不可接受的.

我必须有单个包名,两个不同的APK,两个必须可用于他们的兼容设备.

在我的电视应用清单中,使用了这些功能;

<uses-feature
    android:name="android.hardware.microphone"
    android:required="false" />

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

<uses-feature
    android:name="android.software.leanback"
    android:required="true" />
Run Code Online (Sandbox Code Playgroud)
<activity
    android:name="com.mydomain.android.ui.ActivityYYY"
    android:icon="@drawable/my_banner"
    android:label="@string/app_name"
    android:logo="@drawable/my_tv_banner"
    android:screenOrientation="landscape">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />

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

</activity>
Run Code Online (Sandbox Code Playgroud)

我的手机/平板电脑应用程序没有使用功能,如下所示,有正常的启动器

<activity
    android:name="com.mydomain.android.ActivityXXX"
    android:screenOrientation="portrait">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />

        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>

</activity>
Run Code Online (Sandbox Code Playgroud)

我该怎么办?那时我错过了什么?我需要一个明确的解释或解决方案.

java android android-manifest apk android-tv

8
推荐指数
1
解决办法
1117
查看次数