【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());
相关推荐
雨白7 小时前
Drawable 与 Bitmap 的区别、互转与自定义
android
程序员江同学7 小时前
Kotlin 技术月报 | 2025 年 8 月
android·kotlin
nju永远得不到的男人8 小时前
关于virtual camera
android
雨白10 小时前
Android 自定义 View:属性动画和硬件加速
android
hellokai11 小时前
React Native新架构源码分析
android·前端·react native
真西西11 小时前
Koin:Kotlin轻量级依赖注入框架
android·kotlin
CYRUS_STUDIO13 小时前
手把手教你改造 AAR:解包、注入逻辑、重打包,一条龙玩转第三方 SDK!
android·逆向
CYRUS_STUDIO14 小时前
Android 源码如何导入 Android Studio?踩坑与解决方案详解
android·android studio·源码阅读
前端赵哈哈15 小时前
初学者入门:Android 实现 Tab 点击切换(TabLayout + ViewPager2)
android·java·android studio
一条上岸小咸鱼18 小时前
Kotlin 控制流(二):返回和跳转
android·kotlin