android - 是否可以通过 android 电视应用程序关闭电视设备?
问题描述
对于我的示例,我创建了简单的电视应用程序添加按钮“关机”并尝试关闭我运行它的模拟器。
首先,我试图在https://developer.android.com/training/tv/start/hardware#hardware-permissions的文档中找到一些东西,但没有硬件电源控制。
之后,我尝试了一些 android 移动选项,例如: programmatically set screen to off in android
如:WRITE_SETTINGS
Settings.System.putInt(getContentResolver(), Settings.System.SCREEN_OFF_TIMEOUT, 1000);
我认为这里的问题是获得 android tv 无法解决的运行时权限。
我还尝试了Android 的选项:如何以编程方式打开和关闭屏幕?
mWakeLock = mPowerManager.newWakeLock(PowerManager.PROXIMITY_SCREEN_OFF_WAKE_LOCK, "tag");
mWakeLock.acquire();
没有效果。
用屏幕亮度进行操作也没有效果:
params.flags |= LayoutParams.FLAG_KEEP_SCREEN_ON;
params.screenBrightness = 0;
getWindow().setAttributes(params);
知道我可以尝试什么吗?谢谢你的帮助
解决方案
有些电视确实有一个 REST API,您可以使用它来调用相当于遥控器上的点击。我在 Sony Bravia 系列中使用过它,但我不确定其他电视是否会有它。
无论如何,这是特定于品牌的,与 Android TV 本身无关,因此您不能在所有设备上都依赖它。我找不到直接执行此操作的系统调用。
推荐阅读
- xcode - 将 CMake 包含添加到列表中,使其出现在 Xocde 项目导航器中
- c# - 避免分配但不允许值类型的默认零值
- java - Android Studio jPOS org.jpos.iso.ISOException:java.lang.ClassNotFoundException
- php - 只允许在 WooCommerce 中特定运输区域之外的特定产品本地取货
- angular - 离子选择选项的离子改变语言
- xamarin.forms - 如何在 Xamarin 表单滑动视图中获取偏移属性
- c++ - g++.exe: 安装问题, cannot exec `as': No such file or directory
- ios - Swift - 无法从 UITextField 获取真实文本 - 改为获取 NCISr 结果
- omnet++ - 运行时错误:可能它的代码没有链接,或者类没有注册到 Register_Class()/Define_Module()/Define_Channel()?
- visual-studio - Visual Studio:自动(重新)生成解决方案文件夹