是否可以通过安卓电视应用程序关闭电视设备



对于我的例子,我创建了简单的电视应用程序添加按钮"关机",并尝试关闭运行它的模拟器。

首先,我试图在这里 https://developer.android.com/training/tv/start/hardware#hardware-permissions 文档中找到一些东西,但没有硬件电源控制。

之后,我尝试了一些安卓手机选项,如下所示:在安卓中以编程方式将屏幕设置为关闭

如:WRITE_SETTINGS

Settings.System.putInt(getContentResolver(), Settings.System.SCREEN_OFF_TIMEOUT, 1000);

我认为这里的问题在于获得安卓电视无法解决的运行时权限。

我也尝试了这里的选项 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,您可以使用它来调用相当于遥控器上的点击。我已经在索尼布拉维亚系列上使用它,但我不确定其他电视会不会有它。

在任何情况下,这是特定于品牌的,与Android TV本身无关,因此您不能在所有设备上都依赖它。我找不到直接执行此操作的系统调用。

在带有Oreo的Nvidia Shield上,设置应用程序具有"立即睡眠"和"重新启动"等按钮。如果我是你,我会看看设置应用程序的源代码,并尝试找到这些按钮调用的API。也许看看这个至少会告诉你从哪里开始。

https://android.googlesource.com/platform/packages/apps/TvSettings/+/master/Settings/src/com/android/tv/settings

最新更新