需求:
设备没有tp,采用按键操作设备,进入设置默认没有焦点,导致按键无效,在Android 12中,
packages\apps\Settings\src\com\android\settings\homepage\SettingsHomepageActivity.java
方法:initHomepageContainer()
private void initHomepageContainer() {
final View view = findViewById(R.id.homepage_container);
// Prevent inner RecyclerView gets focus and invokes scrolling.
view.setFocusableInTouchMode(true);
view.requestFocus();
}
表明 防止内部RecyclerView获得焦点并调用滚动,那解决方法就是去掉initHomepageContainer方法的调用
修改:
diff --git a/vendor/mediatek/proprietary/packages/apps/MtkSettings/src/com/android/settings/homepage/SettingsHomepageActivity.java b/vendor/mediatek/proprietary/packages/apps/MtkSettings/src/c
old mode 100644
new mode 100755
index f1c46df..416bf5a
--- a/vendor/mediatek/proprietary/packages/apps/MtkSettings/src/com/android/settings/homepage/SettingsHomepageActivity.java
+++ b/vendor/mediatek/proprietary/packages/apps/MtkSettings/src/com/android/settings/homepage/SettingsHomepageActivity.java
@@ -89,7 +89,7 @@ public class SettingsHomepageActivity extends FragmentActivity implements
final View appBar = findViewById(R.id.app_bar_container);
appBar.setMinimumHeight(getSearchBoxHeight());
- initHomepageContainer();
+ //initHomepageContainer();
final Toolbar toolbar = findViewById(R.id.search_action_bar);
FeatureFactory.getFactory(this).getSearchFeatureProvider()