React Native Android TV-Pad功能缺失
我已经发布了Android Mobile和Android TV的Google Play商店的React Native应用程序. 应用程序成功发布了Android Mobile,但被拒绝为Android TV. 对于电视,我收到了: 的通知 缺少DPAD功能 您的应用需要用于菜单或应用程序导航的用户交互.请确保使用DPAD使用所有菜单和应用程序导航功能完全正常.请参阅我们的DPAD控制和硬件声明文档. androidmanifest.xml
22 2023-04-27
编程技术问答社区
安卓电视布局在Play商店的资格问题
我正在尝试在电视上的Play商店中提供我的应用程序,但是Google拒绝它声称垂直信箱,但我不知道那是什么,在模拟器中,所有屏幕都可以正常工作 屏幕1 解决方案 请检查您的androidmanifest.xml文件. 1确保您的所有活动/碎片都处于景观模式(如果 明确声明). 2强建议使用倾斜主题: 3您的活动应该有一个Notitlebar主题:
4 2023-04-27
编程技术问答社区
我可以为安卓手机和安卓电视的应用程序使用相同的软件包名称吗?
我已经为流视频网站创建了应用程序,并在Android手机和Android TV上提供了应用程序.代码将有所不同,我使用不同的代码来定位不同的平台,但是它们将是具有相同功能和相同软件包名称的同一应用程序.那么,我可以上传它以使用同一包装名称播放商店吗?如果是,那怎么办? 任何帮助都将是可观的. 解决方案 可以,因此在同一上传中上传多个APK(电视和移动设备).我只是按照下面的步骤操作. 1.)定义以下功能在清单中为移动/平板电脑设备创建APK时. 2.)定义以下功能在清单中为电视设备创建APK时.
10 2023-04-27
编程技术问答社区
检测Google Cast的使用情况
如何检测我的 androidtv当前是 google cast 接收器来自移动/桌面的接收器? 如何检测当前是谁 Google Cast 发件人从Google Cast接收器角度看? 如何检测我的 android手机当前是 google cast 发件人? 解决方案 您可以使用Android媒体路由器API请求所有可用的路由以铸造设备.然后,您必须连接到每个铸造设备,然后可以确定应用程序ID,甚至可以播放媒体.如果您只想知道自己的应用程序是否正在运行,则只需通过它过滤媒体路由器请求. 只有接收器才能知道哪些发件人已连接到它.在您自己的自定义接收器中,您可以跟踪自己的应用程序. 您可以使用媒体路由器来确定是否有活动路线.不确定您是否能够判断它是否是铸造路线,因为这些路线也可以转到蓝牙扬声器等其他设备. 其他解决方案 要添加到Leons答案中,我们在Mediarouter上有一个回调,以便在选择Chromecast接收器应用程序 时获得回调 v
10 2023-04-26
编程技术问答社区
为Wear OS和普通应用程序构建的Android Studio项目,但共享源文件
我有一个非常小的Android应用程序,我已经移植了穿OS.它可以正常工作. 但是现在我有两个独立的项目,其源文件的99.5%相同. 我如何将两个版本都放在一个项目中,因此只需要一个公共源文件的一个副本? (例如,需要量身定制清单文件 - 至少对于uses-feature android.hardware.type.watch,并且一个源文件需要不同 - Android应用中的菜单必须在Wear App上以不同的方式处理.一个.资源是针对小屏幕尺寸量身定制的.其他所有内容都是相同的.) 我尝试在一个项目中制作两个模块,一个"应用程序"另一个"磨损".但是由于模块似乎与目录相对应,因此这并不能直接解决共享源文件的问题. 我玩了"构建配置" - 但我对那里的路径一无所知. 我花了一些时间使用"构建类型",这些"构建类型"处理了"依赖关系",但是我无法整理一下如何使一个模块查看另一个模块的目录树(例如Res/Directory). 解决此问题的正确方法是什么? 解
2 2023-03-30
编程技术问答社区
如何专注于Android TV应用程序中的ListView项目
我想在扑朔迷离中构建一个Android电视应用程序几乎所有操作都完成了,但是一个问题是我无法集中注意力(例如,某些弹出效果或边框更改任何告诉用户您在此项目上的东西现在)项目我们正在listView中进行迭代. app P> ,但我无法给予这一重点.我尝试了 pocusscope-> listView->焦点节点 但这不是在第一和最后一个索引中提供确切的行为,而且在其中有多个listView的主页中也无法使用. 解决方案 尝试了多种方法后,我找到了一种简单有效的方法来使用inkwell. 小部件树看起来像=> 脚手架 - > somewidgets-> listView-> inkwell-> carosouls 我们必须将小部件包裹在墨水中并使用 intap,focuscolor,in inkwell中的focuschange,因为inkwell自我焦点. onFocusChange: (value) { pr
10 2023-03-11
编程技术问答社区
在Google Cast SDK开发者控制台注册Android TV
我计划在现有的iOS和Android应用程序流音频应用程序上添加Google Cast功能. 我没有镀铬铸件.但是我有Android TV(KDL-43W950C). 我可以使用我的Android TV来开发Google-cast应用程序吗? 如果是这样,如何在Google Cast Developer Console中注册Android TV? Android TV的序列号为7位数字,如注册表所期望的8-20个字符. Google Chrome Cast应用程序也未检测到Android TV Google文档涵盖了Chrome Cast设备,而不是Android TV. 解决方案 this page 有有关注册Android TV的信息: 对于Android TV设备,您还可以在Android上获取序列号 电视:从"设置"菜单中,选择并向下滚动以查看 序列号. 您可以在开发人员控制台中输入序列号.有关详细信息,请参见该页面. 其他解决方
18 2023-03-10
编程技术问答社区
按键事件getRepeatCount()总是返回0
我正在使用远程Android电视 要在使用远程按钮时捕获事件,我使用此代码: public boolean dispatchKeyEvent(KeyEvent event) { Log.d("LOG", "Number repeate count = " + event.getRepeatCount()); if (event.getAction() == KeyEvent.ACTION_DOWN) { switch (event.getKeyCode()) { case KeyEvent.KEYCODE_1: exoPlayerManager.showControllerView(); if (event.getRepeatCount() > 0) { if (vid
26 2023-02-23
编程技术问答社区
有什么方法可以使手机上的API-15+和电视上的API-21+共用APK?
我看过Google通用播放器代码样本,用于使用普通的Codebase制作常见的APK,以支持手机到电视的所有设备类型,如下所示: https://github.com/geoglesamples/android-universalmusicplayer 我的要求是在移动和电视机电视上支持不同的MIN API版本,适用于电视和电视的MIN API-15(因为Android电视只从API-21开始) 如何通过最少的代码复制来实现这一点(即,如果制作一个单独的移动和电视模块,那么我必须在两个模块中复制代码)? 谢谢! 解决方案 我认为最好的解决方案是创建两个APK. 您可以为移动设备和电视创建一个项目,它们将在单独的模块中,但在同一项目中,您可以创建一个常见的模块,您将把两者都使用的一切,以避免重复的代码. 创建公共模块后,只需添加到移动和电视大道:compile project(':common'). 然后,您将拥有适用于移动和电视的公共模块中的所有代码
20 2023-02-01
编程技术问答社区
安卓电视仿真器。没有互联网接入
我的应用程序无法访问Internet,当我在Android电视仿真器上运行它时. 我认为这是我的代码,但是相同的应用程序可以在像Nexus 5这样的手机仿真器上运行时,可以进入互联网. 怎么了? android_tv_1080p_api_23.avd,config.ini: avd.ini.encoding=UTF-8 AvdId=Android_TV_1080p_API_23 abi.type=x86 avd.ini.displayname=Android TV (1080p) API 23 disk.dataPartition.size=200M hw.accelerometer=no hw.audioInput=yes hw.battery=no hw.camera.back=none hw.camera.front=none hw.cpu.arch=x86 hw.dPad=yes hw.device.hash2=MD5:f26df701fd74415b9a
40 2023-01-20
编程技术问答社区
安卓电视应用--无法用遥控器选择列表项
目前我正在使用Android电视应用程序. 我使用了Android瘦支持库. 我已添加一个ListView,但我无法使用真实设备的遥控器从ListView中选择任何项目.但是,我可以在鼠标的帮助下选择我的Android虚拟设备上的ListView项目. 这是我的listview的示例代码: customViewOrders = new CustomViewOrders(getActivity().getBaseContext(), arrayViewOrders); lstViewOrder.setAdapter(customViewOrders); 此处,arrayViewOrders是我的ArrayList,其中包含从JSON WebService接收的数据. 这是我的JSON响应: { "order":[ { "0":"13829CF", "gen_id":"13829CF",
54 2023-01-20
编程技术问答社区
安卓应用的鼠标指针输入在活动UI元素上不能很好地工作
解决! https://stackoverflow.com/a/a/a/63790855/12021422 我正在开发一个在手机,标签和电视盒上工作的Android应用程序.我的应用需要处理触摸,鼠标指针或遥控器的输入. 目前,我的代码可以很好地实现该功能,但是处理鼠标输入的行为异常仅发生在电视盒上. 问题:当应用启动时,遥控器可以轻松导航focusable元素 但是,指针的鼠标不会被应用元素检测到. 现在,当将鼠标指针带到音量选项时,然后单击回来.该应用开始检测鼠标,但是经过一定的操作,它再次从应用程序UI和鼠标指针的运动和单击再次被发现. > 请观看下面链接的视频,以查看该应用当前的行为. https://jumpshare.com/v/bvyfbqzfbqzfbqzfbqzfwnjfousxjbbsu 问题要点:由于卷控制器在应用程序上方显示,因此鼠标可以在卷跟踪器上进行更改,并在左键单击后出现.该应用程序对悬停和鼠标指针操作的反应迅速,当应用程序对应用程序
4 2023-01-04
编程技术问答社区
安卓电视-现在的扑克牌图标
我目前正在使用Android TV应用程序,但无法弄清楚如何更改我在播放视频时远离应用程序时出现的现在播放卡的图标. 这个 link 表明我需要设置MediaMetadata. getadata_key_display_icon_uri带有URI格式字符串,但我要么无法正确处理字符串,要么由于某些其他原因无法使用. 目前我有这个字符串 - "android.resource://"+ getPackageName() + "/drawable/app_icon_new" 完整提取 final MediaMetadata.Builder metadataBuilder = new MediaMetadata.Builder(); String title = video.getArtist().replace("_", " -"); metadataBuilder.putString(MediaMetadata.METADATA_KEY_D
6 2022-12-30
编程技术问答社区
支持安卓电视和手机的多个apk
我在市场上有一个单一的应用程序,它有minsdk版本9,我还开发了一个 android电视版本,具有相同的包名,但API级别是重叠的. 所以,我的问题是; 如何上传2个不同的apk(电视和电话/平板电脑)与相同的包装名称?用于Android电视的APK只能看到电视和Nexus播放器等.其他APK必须仅用于手机和片剂同时. 我确实阅读了关于多个APK支持的所有文档,但是当我通过我当前可用的应用程序上传Android TV时,旧版本的APK,旧版本不可用(不兼容),适用于电话和平板电脑. 两个不同的apks,在我的情况下不可接受的不同包名. 我必须有单个包名称,两个不同的氧化款,两者都必须适用于他们的兼容设备. 在我的电视应用程序中,使用了这些功能;
20 2022-12-26
编程技术问答社区
如何以编程方式在安卓电视中包含鼠标光标
我使用webview,加载随机站点.对于良好的导航,我需要打开鼠标光标,该鼠标光标将由D-PAD控制,但我没有找到有关如何执行此操作的信息,也许有人可以开发这种导航,我将感激任何帮助. 解决方案 通过创建自定义指针布局 ,在Android TV WebView中启用光标指针 public class CursorLayout extends FrameLayout { public static final int CURSOR_DISAPPEAR_TIMEOUT = 5000; public static int CURSOR_RADIUS = 0; public static float CURSOR_STROKE_WIDTH = 0.0f; public static float MAX_CURSOR_SPEED = 0.0f; public static int SCROLL_START_PADDING = 100; public static final int U
6 2022-12-09
编程技术问答社区
无法在电视(EPG-GUIDE)中使用电视遥控器的向下键向下滚动
1.我正在开发一个Android应用程序作为电子节目指南(EPG),用于设置顶部框,后跟这个项目 https://github.com/codesensentials/android-tv-epg ." 2.我可以左转向右导航,redtht向左(水平滚动)并能够看到焦点(左远程键导航), 3.i不能导航到底部和底部到顶部,无法滚动它,看不到焦点,那个视图完全打开,所以焦点下来,但我看不到. 4.如何向顶部滚动到buttom(上调遥控键导航) 解决方案 您可以检查这个文档. Android框架根据布局中的聚焦元素的相对位置自动应用方向导航方案.您应该使用D-Pad控制器在应用中测试生成的导航方案.测试后,如果您决定希望用户以特定方式移动布局,则可以为控件设置明确的定向导航.检查列表的所有可用导航属性 for Android用户界面小部件.要使用这些显式导航属性之一,请在布局中将值设置为另一个小部件的ID(android:id值).您应该将导航顺序设置为循环,以便最
156 2022-11-29
编程技术问答社区
Android RecognizerIntent 语音识别返回 RESULT_CLIENT_ERROR
我在Android电视应用程序中使用倾斜搜索片段实现了搜索视图. 它适用于键盘输入文本.但语音搜索返回结果_client_error 99%.但是,文本出现在屏幕上的编辑文本中,但不会在onActivityResult中返回.曾经在Bluemoon中,我在意图中获取Refule_ok. 设备:Nexus Player 即使是默认搜索也与大多数项目相同.几乎没有通过语音获得结果. (搜索Nexus Player的主屏幕,我的意思是) 我试着使用搜索局的引用来获取文本,而不是运气. 以下是代码: setSpeechRecognitionCallback(new SpeechRecognitionCallback() { @Override public void recognizeSpeech() { try { startActivityForResult(getRecognizerInte
16 2022-11-29
编程技术问答社区
ACTION_MEDIA_SCANNER_SCAN_FILE from external sdcard Lollipop+
我有一个问题,这个代码完美地工作,但如果视频在sdcard中,MediaScan无法擦除. 这是一个错误?或者是一个特殊的许可? @Override public void onVideoSelected(final String uri, String mimeType) { final AlertDialog.Builder builder = new AlertDialog.Builder(TV.this); builder.setTitle("Select"); builder.setItems(new CharSequence[] {"Play Video", "Remove Video"}, new DialogInterface.OnClickListener() { public void onClick(DialogInterface
24 2022-11-29
编程技术问答社区
安卓电视瘦身的最佳位置加载图标图像以减少内存占用
我已经使用了使用BrowseSupportFragment的倾斜倾斜的Android电视的应用程序,我的物品由类CardPresenter呈现,该类CardPresenter实现了Physer类.我正在为onbindViewHolder方法加载图像的图标.但它将太多的图像加载到内存中,我通过Logcat检查了加载的总图像太多(基本上加载了54行,每行具有10-12张卡).这导致应用程序中的GC暂停.我想要的是只加载可见图像.尝试使用Spepler类的OnviewAtchedTowindow方法,但该方法onbindViewHolder&OnviewAttachedTowindow似乎是称为相同的次数.我想做的就是懒洋地加载图像,当Listrows滚动时,试图搜索很多但无法获得合适的答案,有人可以帮助我吗? 解决方案 onbindviewholder是触发图像加载的正确位置.当您的布局膨胀时,您应该看到onbindviewholder调用所有可见项目,有时有时使用下一个项目的缓冲区
8 2022-11-29
编程技术问答社区
如何像我们在android leanback组件的VideoSupportFragment中那样用行过渡来定制片段?
我想构建一个带有叠加过渡的片段,如我们进入倾注的视频运营额.播放行和底行托盘.不使用视频upportfragment.我的意思是我没有用例子来播放视频,而只是为了让那种叠加过渡在一些背景之上. 编辑:我指的是播放控制行和相关视频行的滚动行为. 解决方案 所需的基本上是一个PlaybackRow和ListRow 我将使用已实现的第PlaybackSupportFragment中的代码部分构建新的自定义类. 源代码 参考 其他解决方案 我不知道我是否正确,但是: "我正在引用播放行和相关视频行的自动滚动." 您应该收听"onCompleteEvent",然后移动到NE Netx视频,并播放它
20 2022-11-29
编程技术问答社区