Android去除飞行模式的控制

总会有客户提一些奇葩的要求,作为技术人员又不能不做,但是又怕与其他项目冲突,所以对其项目进行控制方便其他项目的正常运行。去除飞行模式的代码修改如下,其他几个模式也可按照此方法修改:

frameworks\base\policy\src\com\android\internal\policy\impl\GlobalActions.java

        mItems = new ArrayList<Action>();
        String[] defaultActions = mContext.getResources().getStringArray(
                com.android.internal.R.array.config_globalActionsList);

        ArraySet<String> addedKeys = new ArraySet<String>();
        for (int i = 0; i < defaultActions.length; i++) {
            String actionKey = defaultActions[i];
            if (addedKeys.contains(actionKey)) {
                // If we already have added this, don't add it again.
                continue;
            }
            if (GLOBAL_ACTION_KEY_POWER.equals(actionKey)) {
                mItems.add(new PowerAction());
            } else if (GLOBAL_ACTION_KEY_REBOOT.equals(actionKey)) {
                mItems.add(mRebootAction);
            } else if (GLOBAL_ACTION_KEY_AIRPLANE.equals(actionKey)) {
                //自定义字段控制 start
                if(!DefineSystemProperties.GLOBAL_ACTION_AIRPLANE_REMOVE){
                    mItems.add(mAirplaneModeOn);
                }
                //end
            } else if (GLOBAL_ACTION_KEY_BUGREPORT.equals(actionKey)) {
                if (Settings.Global.getInt(mContext.getContentResolver(),
                        Settings.Global.BUGREPORT_IN_POWER_MENU, 0) != 0 && isCurrentUserOwner()) {
                    mItems.add(getBugReportAction());
                }
            } else if (GLOBAL_ACTION_KEY_SILENT.equals(actionKey)) {
                if (mShowSilentToggle) {
                    mItems.add(mSilentModeAction);
                }
            } else if (GLOBAL_ACTION_KEY_USERS.equals(actionKey)) {
                if (SystemProperties.getBoolean("fw.power_user_switcher", false)) {
                    addUsersToMenu(mItems);
                }
            } else if (GLOBAL_ACTION_KEY_SETTINGS.equals(actionKey)) {
                mItems.add(getSettingsAction());
            } else if (GLOBAL_ACTION_KEY_LOCKDOWN.equals(actionKey)) {
                mItems.add(getLockdownAction());
            } else {
                Log.e(TAG, "Invalid global action key " + actionKey);
            }
            // Add here so we don't add more than one.
            addedKeys.add(actionKey);
        }

添加的宏控GLOBAL_ACTION_AIRPLANE_REMOVE,还要在device.mk和DefineSystemProperties.java定义。

猜你喜欢

转载自blog.csdn.net/lwz622/article/details/82055368