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

作者 : admin 本文共957个字,预计阅读时间需要3分钟 发布时间: 2024-06-13 共1人阅读

前言

由于我做的是盒子类产品,但是客户又想要使用AOSP Settings因此有不少需要适配遥控器的地方。
比如左上角AppBar的返回按键使用遥控器是无法按下的。

图示

【Android】遥控器无法点击AOSP Settings的返回按键插图
因此这里需要在源码中加入对返回键的监听,代码如下

代码

--- 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());
本站无任何商业行为
个人在线分享 » 【Android】遥控器无法点击AOSP Settings的返回按键
E-->