Android 7.1 系統Setting介面增加返回機制
Android系統在設定了隱藏狀態列和虛擬按鍵之後,進入Setting介面,沒有滑鼠的話就無法返回了。這裡我們通過修改原始碼,
實現返回到桌面的功能。具體程式碼路徑如下:
packages\apps\Settings\src\com\android\settings\SettingsActivity.java
把原始碼
if (!mIsShowingDashboard) {
mDisplaySearch = false;
// UP will be shown only if it is a sub settings
if (mIsShortcut) {
mDisplayHomeAsUpEnabled = isSubSettings;
} else if (isSubSettings) {
mDisplayHomeAsUpEnabled = true;
} else {
mDisplayHomeAsUpEnabled = false;
}
setTitleFromIntent(intent);
Bundle initialArguments = intent.getBundleExtra(EXTRA_SHOW_FRAGMENT_ARGUMENTS);
switchToFragment(initialFragmentName, initialArguments, true, false,
mInitialTitleResId, mInitialTitle, false);
} else {
// No UP affordance if we are displaying the main Dashboard
mDisplayHomeAsUpEnabled = false;
// Show Search affordance
mDisplaySearch = true;
mInitialTitleResId = R.string.dashboard_title;
// add argument to indicate which settings tab should be initially selected
final Bundle args = new Bundle();
final String extraName = DashboardContainerFragment.EXTRA_SELECT_SETTINGS_TAB;
args.putString(extraName, intent.getStringExtra(extraName));
switchToFragment(DashboardContainerFragment.class.getName(), args, false, false,
mInitialTitleResId, mInitialTitle, false);
}
中的mDisplayHomeAsUpEnabled = false;修改為mDisplayHomeAsUpEnabled = true;即可實現。
從新編譯系統。