【Android】遥控器无法点击AOSP Settings的返回按键

前言

由于我做的是盒子类产品,但是客户又想要使用AOSP Settings因此有不少需要适配遥控器的地方。

比如左上角AppBar的返回按键使用遥控器是无法按下的。

图示

因此这里需要在源码中加入对返回键的监听,代码如下

代码

java 复制代码
--- a/packages/apps/Settings/src/com/android/settings/SettingsActivity.java
+++ b/packages/apps/Settings/src/com/android/settings/SettingsActivity.java
@@ -71,6 +71,8 @@ import com.google.android.setupcompat.util.WizardManagerHelper;

 import java.util.ArrayList;
 import java.util.List;
+import java.io.IOException;
+import android.widget.Toolbar;

@@ -290,6 +292,19 @@ public class SettingsActivity extends SettingsBaseActivity
             actionBar.setHomeButtonEnabled(!isInSetupWizard);
             actionBar.setDisplayShowTitleEnabled(true);
         }
+
+        final Toolbar toolbar = findViewById(R.id.action_bar);
+         toolbar.setNavigationOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                try {
+                    Runtime.getRuntime().exec("input keyevent 4");
+                } catch (IOException e) {
+                    e.printStackTrace();
+                }
+            }
+        });
+
         mSwitchBar = findViewById(R.id.switch_bar);
         if (mSwitchBar != null) {
             mSwitchBar.setMetricsTag(getMetricsTag());
相关推荐
小兔薯了4 小时前
7. LNMP-wordpress
android·运维·服务器·数据库·nginx·php
L***d6705 小时前
mysql的主从配置
android·mysql·adb
Sammyyyyy6 小时前
PHP 8.5 新特性:10 大核心改进
android·php·android studio
TO_ZRG7 小时前
Unity 通过 NativePlugin 接入Android SDK 指南
android·unity·游戏引擎
n***84077 小时前
Springboot-配置文件中敏感信息的加密:三种加密保护方法比较
android·前端·后端
方白羽8 小时前
一次由 by lazy 引发的“数据倒灌”,深入理解 `by`关键字、`lazy`函数的本质
android·kotlin·app
v***55348 小时前
MySQL 中如何进行 SQL 调优
android·sql·mysql
vx_vxbs6610 小时前
【SSM高校普法系统】(免费领源码+演示录像)|可做计算机毕设Java、Python、PHP、小程序APP、C#、爬虫大数据、单片机、文案
android·java·python·mysql·小程序·php·idea
j***827011 小时前
【MyBatisPlus】MyBatisPlus介绍与使用
android·前端·后端
ljt272496066111 小时前
Compose笔记(五十八)--LinearOutSlowInEasing
android·笔记·android jetpack