阅读:7114回复:3

Android8.1 Settings二级菜单修改

楼主#
更多 发布于:2019-10-23 18:57
最近在搞Android8.1系统, 发现Settings的代码改动挺大的,看了半天没看明白。 不知道像这种二级菜单选项应该怎么去掉或隐藏??
比如Network&Intent页面里面的:Airplane mode 、Mobile plan 、 Mobile network
[url]http://190.lsal.cn/195/1329.gif?0728100424873[/url]
沙发#
发布于:2019-10-23 19:01
最近接手一个新项目,59个需求慢慢搞吧
[url]http://190.lsal.cn/195/1329.gif?0728100424873[/url]
板凳#
发布于:2019-10-23 21:38
嗯,是需要好好理一理,我之前改了也改了几个
If you have nothing to lose, then you can do anything.
地板#
发布于:2019-10-24 10:20
虽然没怎么看明白这个代码的流程,经过一番尝试,现在是去掉了这3个选项了,暂时先这样吧!


diff --git a/src/com/android/settings/network/AirplaneModePreferenceController.java b/src/com/android/settings/network/AirplaneModePreferenceController.java
old mode 100644
new mode 100755
index d2015df5c0..49c0b1118a
--- a/src/com/android/settings/network/AirplaneModePreferenceController.java
+++ b/src/com/android/settings/network/AirplaneModePreferenceController.java
@@ -83,6 +83,7 @@ public class AirplaneModePreferenceController extends AbstractPreferenceControll
         } else {
             removePreference(screen, getPreferenceKey());
         }
+ screen.removePreference(mAirplaneModePreference);
     }
 
     @Override
diff --git a/src/com/android/settings/network/MobileNetworkPreferenceController.java b/src/com/android/settings/network/MobileNetworkPreferenceController.java
old mode 100644
new mode 100755
index 6e2c2d56e9..14df110c81
--- a/src/com/android/settings/network/MobileNetworkPreferenceController.java
+++ b/src/com/android/settings/network/MobileNetworkPreferenceController.java
@@ -73,6 +73,7 @@ public class MobileNetworkPreferenceController extends AbstractPreferenceControl
         if (isAvailable()) {
             mPreference = screen.findPreference(getPreferenceKey());
         }
+ screen.removePreference(mPreference);
     }
 
     @Override
diff --git a/src/com/android/settings/network/MobilePlanPreferenceController.java b/src/com/android/settings/network/MobilePlanPreferenceController.java
old mode 100644
new mode 100755
index d5ff924f96..aaeb2a6900
--- a/src/com/android/settings/network/MobilePlanPreferenceController.java
+++ b/src/com/android/settings/network/MobilePlanPreferenceController.java
@@ -25,6 +25,7 @@ import android.net.Uri;
 import android.os.Bundle;
 import android.os.UserManager;
 import android.support.v7.preference.Preference;
+import android.support.v7.preference.PreferenceScreen;
 import android.telephony.TelephonyManager;
 import android.text.TextUtils;
 import android.util.Log;
@@ -67,6 +68,7 @@ public class MobilePlanPreferenceController extends AbstractPreferenceController
     private TelephonyManager mTm;
 
     private String mMobilePlanDialogMessage;
+ private Preference mPreference;
 
     public MobilePlanPreferenceController(Context context,
             MobilePlanPreferenceHost host) {
@@ -123,6 +125,15 @@ public class MobilePlanPreferenceController extends AbstractPreferenceController
     public String getPreferenceKey() {
         return KEY_MANAGE_MOBILE_PLAN;
     }
+
+  @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+        if (isAvailable()) {
+            mPreference = screen.findPreference(getPreferenceKey());
+        }
+ screen.removePreference(mPreference);
+    }
[url]http://190.lsal.cn/195/1329.gif?0728100424873[/url]
游客

返回顶部