【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());
相关推荐
2501_915909065 小时前
完整指南:如何将iOS应用上架到App Store
android·ios·小程序·https·uni-app·iphone·webview
赏金术士6 小时前
Retrofit + Kotlin 协程(Android 实战教程)
android·kotlin·retrofit
大炮筒13 小时前
COCOS2DX4.0CPPWIN移植安卓踩坑总结
android
qq_4228286216 小时前
android图形学之SurfaceControl和Surface的关系 五
android·开发语言·python
tongyiixiaohuang17 小时前
轻易云平台助力快麦数据入库MySQL
android·数据库·mysql
JohnnyDeng9420 小时前
Android 包体积优化:R8/ProGuard 深度配置
android
qq_4523962320 小时前
第六篇:《JMeter逻辑控制器:循环、条件和交替执行》
android·java·jmeter
cwzqf1 天前
Jectpack Compose项目组件代码分享(1):分页加载组件
android
@北海怪兽1 天前
SQL常见函数整理 _ STRING_AGG()
android·数据库·sql
鹏晨互联1 天前
【Compose vs XML:边框内外间距的实现对比】
android·xml