如何在s500(cb6) 源码中删除Setting里的自动旋转屏幕按钮
本帖最后由 Mbao 于 2017-6-14 11:07 编辑自动旋转屏幕位置在:Setting -->accessibility ---->auto-rotate screen(自动旋转开关)
既然知道其位置,我们只需要用以下指令查找auto-rotate screen 在Setting源码中的哪个文件里有定义.
cd android/packages/apps/Settings/
grep -nHrw "auto-rotate screen"./
经过代码分析排除后可以发现其主要在accessibility_settings.xml定义了控件属性,在AccessibilitySettings.java引入了这个控件属性,并实现了这个控件的功能方法
这样我们只要删除这两个文件里定义auto-rotate screen相关就可以
1)先删除其布局文件.
在packages/apps/Settings/res/xml/accessibility_settings.xml中注释掉以下代码
<SwitchPreference
android:key="toggle_lock_screen_rotation_preference"
android:title="@string/accelerometer_title"
android:persistent="false"/>
2)再删除其定义属性和及相关功能方法.
在 packages/apps/Settings/src/com/android/settings/accessibility/AccessibilitySettings.java注释掉以下代码就可以private static final String TOGGLE_LOCK_SCREEN_ROTATION_PREFERENCE="toggle_lock_screen_rotation_preference";
mToggleLockScreenRotationPreference=(SwitchPreference)findPreference(TOGGLE_LOCK_SCREEN_ROTATION_PREFERENCE);
if (!RotationPolicy.isRotationSupported(getActivity())) {
mSystemsCategory.removePreference(mToggleLockScreenRotationPreference);
}
// Auto-rotate screen
updateLockScreenRotationCheckbox();
注意:最后编译之前先要删除android 文件夹里的out文件
页:
[1]