android7.0屏蔽系统设置里的菜单

方法:

1,在系统package/app/Settings/src找菜单所对应的类(activity/fragment)

2,进到frameworks/base/packages/SettingsLib/找到TileUtils.java类里的getTilesForIntent方法

,然后根据包名来屏蔽。

实例:屏蔽系统设置里内存菜单

1,在package/app/Settings/src/com/android/settings/Settings.java类中找到

public static class MemorySettingsActivity extends SettingsActivity { /* empty */ }

2,回到frameworks/base/packages/SettingsLib/里的TileUtils.javagetTilesForIntent方法中实现以下代码:

if ("com.android.settings.Settings$MemorySettingsActivity".equals(activityInfo.name) &&
     //TopwiseProp.getDefaultSettingBoolean这个类是自己的代码实现开关。switch_operate可以随意取,但是不能过长
     //(可以用系统的SystemProperties.set()来实现)
        switchOperate.getDefaultSettingBoolean("switch_operate",true) == false) {
    continue;
}

3,模块编译frameworks/base/packages/SettingsLib/

注意,编译frameworks/base/packages/SettingsLib/生成SettingsLibTests.apk这个SettingsLibTests.apk不用管。

4,继续编译package/app/Settings/生成Settings.apk。adb push到对应的路径下,重启机器即可

 

 

你可能感兴趣的:(android源码)