我在Android TV应用程序中使用Google Leanback小部件.它使用带有ListRows的RowsFragment.
我想要确定的是,是否有任何方法可以以编程方式滚动到其中一行中的特定对象.我已经挖掘了Leanback小部件的文档,但无法找到我正在寻找的东西.
如何检测我的AndroidTV目前是否是移动/桌面的Google Cast 接收器?
如何从Google Cast Receiver角度检测目前谁是 Google Cast 发件人?
如何检测我的Android手机目前是否为Google Cast 发件人?
We are trying to implement paging in Leanback VerticalGridSupportFragment with Architecture Components Paging Library. Leanback on it's own doesn't have any sort of out-of-box compatibility with Paging Library so we extended it's ObjectAdapter class and managed to implement append and clear operations quite easily but we are having a hard time trying to make modify operation work. During content modification operation, Paging Library's PagedList class computes the diff using AsyncPagedListDiffer which internally uses PagedStorageDiffHelper which is a package-private class and …
开发Android TV应用程序,我对广告的使用有疑问.
在Android的电视布局指南指出:
Android TV上的广告必须始终为全屏.广告不得出现在内容旁边或上方.用户必须能够使用D-pad控制器解除广告.视频广告必须在开始播放后30秒内停用.
Android TV不提供网络浏览器.您的广告不得尝试启动网络浏览器或重定向到Google Play商店.
谷歌的Admob确实提供插页式广告.但是,我不清楚它是否符合其他要求:
如果Admob不提供适合Android TV的广告,是否还有其他可以使用的推荐网络?
开发Android TV应用程序时,我遇到了Leanback支持库提供的BrowseFragment使用问题.我们可以更改RowsFragment项之间的边距吗?
我有一个Android电视(飞利浦49PUS6401)我想连接一个环绕声系统,它比内置扬声器质量好得多,即使只用于立体声.
然而,这台电视分离主输出和耳机输出的音量控制,结果是即使关闭电视扬声器,遥控器上的音量键也不会调整耳机音量(我用作一条线路)出)
我打算写一个简单的应用程序,以便在桅杆音量改变时调整耳机音量,但我似乎无法弄清楚如何获取或设置耳机音量,因为音频管理器处理流而不是输出,所以我能从中得到的唯一价值就是主人.
我如何找到获取/设置耳机音量的方法?我通过adb获得了shell访问权限,但我无法获得root权限.
作为参考,电视正在运行最新的固件,这是Android 5.1.1
我想知道为什么Android 开发人员文档建议使用视图组,例如Relative Layout
或Linear Layout
安排视图来开发 TV Android 应用程序,而不是当前的标准,即Constraint Layout
。
有什么具体原因吗?我需要对此有一些想法。
android-linearlayout viewgroup android-relativelayout android-tv android-constraintlayout
我在Google Play上有一款安卓游戏.现在我正在努力使其与Android TV兼容.我没有任何Android TV硬件.所以我在模拟器中测试.我能够使用Android 5.0为Android TV启动Android Emulator.我的游戏正在使用Google Play游戏服务.因此,要测试它,我需要在模拟器中使用Google API.但是,如果我尝试使用Google API创建Android TV模拟器,我看不到带有Google API的Android TV的系统图像.
这是我缺少的东西,或者模拟器不支持"使用Google API的Android TV"
这方面的任何信息都会有所帮助.
编辑
我发现Android TV系统图像默认使用Google API.但是当我在模拟器上运行我的应用程序(使用Google Play服务)时,我会在警报对话框中收到以下消息
google play services which some of your applications rely on is not supported by your device
Run Code Online (Sandbox Code Playgroud)
此外,我在日志中的某处看到了以下内容.
google play services not available due to error 9
Run Code Online (Sandbox Code Playgroud)
google play services is invalid. cannot recover"
Run Code Online (Sandbox Code Playgroud) android android-emulator google-play-services google-play-games android-tv
我想创建一个与移动和电视兼容的apk.据我所知,我应该在清单中指定两个平台的启动器活动,一个用于移动设备<category android:name="android.intent.category.LAUNCHER" />
,另一个用于电视用 <category android:name="android.intent.category.LEANBACK_LAUNCHER" />
intent filter
.Android应该在启动时自动选择正确的活动,具体取决于平台,对吧?或者我应该添加一些Java代码并从代码开始我的电视活动?目前,它在使用Android TV模拟器时启动我的移动活动.以下是我的清单文件:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.mypackagename"
android:versionCode="142"
android:versionName="2.0.142" >
<uses-sdk tools:overrideLibrary="android.support.v17.leanback"/>
<uses-permission android:name="android.permission.INTERNET" />
<uses-feature
android:name="android.hardware.microphone"
android:required="false" />
<uses-feature
android:name="android.hardware.bluetooth"
android:required="false" />
<!-- TV -->
<uses-feature
android:name="android.hardware.touchscreen"
android:required="false" />
<uses-feature android:name="android.software.leanback"
android:required="false" />
<application
android:name="com.mypackagename.App"
android:allowBackup="true"
android:hardwareAccelerated="true"
android:icon="@drawable/ic_launcher"
tools:replace="android:icon"
android:label="@string/app_name"
android:banner="@drawable/ic_launcher"
android:largeHeap="true"
android:supportsRtl="false"
android:theme="@style/AppTheme" >
<activity
android:name="com.mypackagenametv.MainTVActivity"
android:theme="@style/TVAppTheme"
android:label="@string/app_name"
android:logo="@drawable/ic_launcher"
android:screenOrientation="landscape" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LEANBACK_LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="com.mypackagenametv.PlayerActivity"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen" />
<activity android:name="com.mypackagenametv.DetailsActivity" …
Run Code Online (Sandbox Code Playgroud) 我的Android TV应用程序从服务器获取图像并将其显示在主屏幕上.问题是,所有未聚焦的图像,即未选择的图像都包含黑色透明背景.
唯一不包含透明背景的图像是当前选定的图像.我确保图像是pngs.图像聚焦后,背景将被删除.
我没有LinearLayout
在.xml中使用任何东西,只是一个GridItemPresenter
类.
造成这种情况的原因是什么?如何解决这个问题?
我试图添加以下内容,view.setBackgroundColor(Color.TRANSPARENT)
但这没有任何效果.
这是我的代码:
private class GridItemPresenter extends Presenter
{
public ViewHolder onCreateViewHolder(ViewGroup parent)
{
ImageView view = new ImageView(parent.getContext());
view.setBackgroundColor(Color.TRANSPARENT);
view.setLayoutParams(new ViewGroup.LayoutParams((int)x, (int)y));
view.setFocusable(true);
view.setFocusableInTouchMode(true);
return new ViewHolder(view);
}
public void onBindViewHolder(ViewHolder viewHolder, Object item)
{
ImageView imageView = ( (ImageView) viewHolder.view);
}
public void onUnbindViewHolder(ViewHolder viewHolder)
{
ImageView imageView = ( (ImageView) viewHolder.view);
}
}
Run Code Online (Sandbox Code Playgroud)
android-tv ×10
android ×8
leanback ×2
admob ×1
chromecast ×1
google-cast ×1
google-tv ×1
java ×1
viewgroup ×1