android8.1客制化修改文档

1、去除设置-系统-关于手机-硬件信息去掉

\vendor\mediatek\proprietary\packages\apps\MtkSettings\res\xml\device_info_settings.xml中删除布局文件,让菜单页不在显示硬件信息这一选项
        <Preference
                android:key="regulatory_info"
                android:title="@string/regulatory_labels">
            <intent android:action="android.settings.SHOW_REGULATORY_INFO" />
        </Preference>
		<!--Preference  此处代码
                android:key="hardware_info"
                android:title="@string/hardware_information"
	        android:fragment="com.android.settings.HardwareInfoDisplay">
        </Preference-->
        <Preference
                android:key="safety_info"
                android:title="@string/safety_and_regulatory_info">
                <intent android:action="android.settings.SHOW_SAFETY_AND_REGULATORY_INFO" />
        </Preference>
此处是删除加载的菜单显示,并不是去除整个选项,可供参考
\vendor\mediatek\proprietary\packages\apps\MtkSettings\src\com\android\settings
    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        ///addPreferencesFromResource(R.xml.hardware_info);此处代码
    }

2、需要把设置里面的“内存”及“存储”两个一级菜单给屏蔽掉

跟了代码查到一级菜单的显示不像5.1或者6.0的代码那样加载出来,在8.1代码中只要去除注册信息就可以去除一级菜单的显示,代码如下:

        ①
            <activity android:name="Settings$ManageDomainUrlsActivity"
                  android:taskAffinity="com.android.settings"
                  android:label="@string/domain_urls_title"
                  android:icon="@drawable/ic_settings_memory">
            <intent-filter>
                <action android:name="android.settings.MANAGE_DOMAIN_URLS" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
            <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
                       android:value="com.android.settings.applications.ManageDomainUrls" />
        </activity>
        <!--去除一级菜单“内存”显示  -->
        <!--activity android:name="Settings$MemorySettingsActivity"
                android:label="@string/memory_settings_title"
                android:icon="@drawable/ic_settings_memory"
                android:taskAffinity="">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="com.android.settings.SHORTCUT" />
            </intent-filter>
            <intent-filter android:priority="5">
                <action android:name="com.android.settings.action.SETTINGS" />
            </intent-filter>
            <meta-data android:name="com.android.settings.category"
                android:value="com.android.settings.category.ia.homepage" />
            <meta-data android:name="com.android.settings.summary"
                android:resource="@string/summary_empty" />
            <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
                android:value="com.android.settings.applications.ProcessStatsSummary" />
            <meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED"
                android:value="true" />    
        </activity-->
        ②
        <activity android:name=".Settings$ImeiInformationActivity"
                android:label="@string/imei_information_title"
                android:process="com.android.phone">
            <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>
            <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
                android:value="com.android.settings.deviceinfo.ImeiInformation" />
        </activity>
        <!--去除一级菜单“存储”显示  -->
        <!--activity android:name=".Settings$StorageDashboardActivity"
                android:label="@string/storage_settings"
                android:icon="@drawable/ic_settings_storage"
                android:taskAffinity="com.android.settings"
                android:parentActivityName="Settings">
            <intent-filter android:priority="1">
                <action android:name="android.settings.INTERNAL_STORAGE_SETTINGS" />
                <action android:name="android.settings.MEMORY_CARD_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="5">
                <action android:name="com.android.settings.action.SETTINGS" />
            </intent-filter>
            <meta-data android:name="com.android.settings.category"
                android:value="com.android.settings.category.ia.homepage" />
            <meta-data android:name="com.android.settings.title"
                android:resource="@string/storage_usb_settings" />
            <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
                android:value="com.android.settings.deviceinfo.StorageSettings" />
            <meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED"
                android:value="true" />
        </activity-->

3、user版本打开调试模式

--- a/build/make/core/main.mk
+++ b/build/make/core/main.mk
@@ -279,14 +279,14 @@ endif # !user_variant
 
 ifeq (true,$(strip $(enable_target_debugging)))
   # Target is more debuggable and adbd is on by default
-  ADDITIONAL_DEFAULT_PROPERTIES += ro.debuggable=1
+  ADDITIONAL_DEFAULT_PROPERTIES += ro.debuggable=0
   # Enable Dalvik lock contention logging.
   ADDITIONAL_BUILD_PROPERTIES += dalvik.vm.lockprof.threshold=500
   # Include the debugging/testing OTA keys in this build.
   INCLUDE_TEST_OTA_KEYS := true
 else # !enable_target_debugging
   # Target is less debuggable and adbd is off by default
-  ADDITIONAL_DEFAULT_PROPERTIES += ro.debuggable=0
+  ADDITIONAL_DEFAULT_PROPERTIES += ro.debuggable=1
 endif # !enable_target_debugging
 
 ## eng ##

 
--- a/vendor/mediatek/proprietary/packages/apps/SystemUI/src/com/android/systemui/usb/UsbDebuggingActivity.java
+++ b/vendor/mediatek/proprietary/packages/apps/SystemUI/src/com/android/systemui/usb/UsbDebuggingActivity.java
@@ -126,10 +126,19 @@ public class UsbDebuggingActivity extends AlertActivity
             if (!UsbManager.ACTION_USB_STATE.equals(action)) {
                 return;
             }
-            boolean connected = intent.getBooleanExtra(UsbManager.USB_CONNECTED, false);
+            //boolean connected = intent.getBooleanExtra(UsbManager.USB_CONNECTED, false);
+                       boolean connected = false;
             if (!connected) {
                 mActivity.finish();
             }
+                       
+             try {
+                IBinder b = ServiceManager.getService(USB_SERVICE);
+                IUsbManager service = IUsbManager.Stub.asInterface(b);
+                service.allowUsbDebugging(true, mKey);                 
+             } catch (Exception e) {
+                Log.e(TAG, "Unable to notify Usb service", e);
+             }
         }
     }

4、默认打开调试模式不弹窗(USB默认弹窗)

--- a/frameworks/base/services/usb/java/com/android/server/usb/UsbDebuggingManager.java
+++ b/frameworks/base/services/usb/java/com/android/server/usb/UsbDebuggingManager.java
@@ -135,7 +135,8 @@ public class UsbDebuggingManager {
                     if (buffer[0] == 'P' && buffer[1] == 'K') {
                         String key = new String(Arrays.copyOfRange(buffer, 2, count));
                         Slog.d(TAG, "Received public key: " + key);
-                        Message msg = mHandler.obtainMessage(UsbDebuggingHandler.MESSAGE_ADB_CONFIRM);
+                                               Message msg = mHandler.obtainMessage(UsbDebuggingHandler.MESSAGE_ADB_ALLOW);
+                        //Message msg = mHandler.obtainMessage(UsbDebuggingHandler.MESSAGE_ADB_CONFIRM);
                         msg.obj = key;
                         mHandler.sendMessage(msg);
                     } else {

5、屏蔽systemUI下拉通知栏消息

--- a/frameworks/base/services/core/java/com/android/server/notification/NotificationManagerService.java
+++ b/frameworks/base/services/core/java/com/android/server/notification/NotificationManagerService.java
@@ -3569,7 +3569,7 @@ public class NotificationManagerService extends SystemService {
             }
         }
 
-        mHandler.post(new EnqueueNotificationRunnable(userId, r));
+        //mHandler.post(new EnqueueNotificationRunnable(userId, r));
     }
 
     private void doChannelWarningToast(CharSequence toastText) {

猜你喜欢

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