1. 程式人生 > >Android 7.1 系統Setting介面增加返回機制

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;即可實現。

從新編譯系統。