Android 隐藏高级设置中的一级菜单

在android rom 定制开发中,经常遇到有些高级设置选项不想让用户看到或操作,常用的方法就是隐藏掉相关的一级菜单。

按以下步骤进行即可:

1.找到需要隐藏的一级菜单对应的Activity名称,可通过日志打印获取,比如“备份和重置”对应名称为PrivacySettings。

2.在SettingsActivity.java[com.android.settings.SettingsActivity]中找到对应的FRAGMENT列表位置注释掉 PrivacySettings.class.getName(),

 private static final String[] ENTRY_FRAGMENTS = {
           // WirelessSettings.class.getName(),
            EthernetSettings.class.getName(),
            WifiSettings.class.getName(),
            AdvancedWifiSettings.class.getName(),
            SavedAccessPointsWifiSettings.class.getName(),
            //BluetoothSettings.class.getName(),
            SimSettings.class.getName(),
            TetherSettings.class.getName(),
            WifiP2pSettings.class.getName(),
            VpnSettings.class.getName(),
            DateTimeSettings.class.getName(),
            LocaleListEditor.class.getName(),
            InputMethodAndLanguageSettings.class.getName(),
            AvailableVirtualKeyboardFragment.class.getName(),
            SpellCheckersSettings.class.getName(),
            // HISILICON delete begin
            // OptimizedBoot, delete useless modules
            // UserDictionaryList.class.getName(),
            // UserDictionarySettings.class.getName(),
            // HISILICON delete end
            HomeSettings.class.getName(),
            DisplaySettings.class.getName(),
            DisplaySettingsSTB.class.getName(),//hisi
            MediaSettings.class.getName(),//hisi
            AdvanceOptions.class.getName(),
            StandbySettings.class.getName(),
            //DeviceInfoSettings.class.getName(),
            InforActivity.class.getName(),
            ManageApplications.class.getName(),
            NotificationApps.class.getName(),
            ManageAssist.class.getName(),
            ProcessStatsUi.class.getName(),
            NotificationStation.class.getName(),
            LocationSettings.class.getName(),
            //SecuritySettings.class.getName(),
            UsageAccessDetails.class.getName(),
          //  PrivacySettings.class.getName(),
            DeviceAdminSettings.class.getName(),
            ...}

3.在高级设置的清单文件中注释掉对应的Activity声明。AndroidManifest.xml

  <!-- <activity android:name="Settings$PrivacySettingsActivity"
                android:label="@string/privacy_settings_title"
                android:icon="@drawable/ic_settings_backup"
                android:configChanges="orientation|keyboardHidden|screenSize"
                android:taskAffinity="com.android.settings"
                android:parentActivityName="Settings">
            <intent-filter android:priority="1">
                <action android:name="android.settings.PRIVACY_SETTINGS" />
                <action android:name="android.settings.BACKUP_AND_RESET_SETTINGS" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.VOICE_LAUNCH" />
            </intent-filter>
            <intent-filter android:priority="-2">
                <action android:name="com.android.settings.action.SETTINGS" />
            </intent-filter>
            <meta-data android:name="com.android.settings.category"
                android:value="com.android.settings.category.personal" />
            <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
                android:value="com.android.settings.PrivacySettings" />
            <meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED"
                android:value="true" />
        </activity> -->

        <activity android:name="SetFullBackupPassword"
                android:theme="@style/Theme.SubSettingsDialogWhenLarge"
                android:exported="false">
        </activity>

4.重新编译Settings.apk,adb push 到 system/priv-app/Settings/Settings.apk 即可验证

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值