Android系统默认打开开发者选项中的TP触摸开关

在定制系统开发中,有时会遇到客户为了方便生产测试硬件主板,客户会提出生产测试软件需要默认打开开发者选项中的TP触摸开关,也就是show_touches和pointer_location

具体实现方法如下:

diff --git a/packages/SettingsProvider/res/values/defaults.xml b/packages/SettingsProvider/res/values/defaults.xml
old mode 100644
new mode 100755
index e86f90a..cf1f41c
--- a/packages/SettingsProvider/res/values/defaults.xml
+++ b/packages/SettingsProvider/res/values/defaults.xml
@@ -17,6 +17,8 @@
  */
 -->
 <resources>
+       <integer name="def_show_touches">1</integer>
+       <integer name="def_pointer_location">1</integer>
     <string name="tts_default_synth">com.google.android.tts</string>
     <string name="def_time_12_24" translatable="false">24</string>
     <bool name="def_dim_screen">true</bool>
diff --git a/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java b/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java
index c921099..83c2c00 100755
--- a/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java
+++ b/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java
@@ -2267,6 +2267,12 @@ class DatabaseHelper extends SQLiteOpenHelper {
             loadIntegerSetting(stmt, Settings.System.SCREEN_OFF_TIMEOUT,
                     R.integer.def_screen_off_timeout);
 
+                       loadIntegerSetting(stmt, Settings.System.SHOW_TOUCHES,
+                    R.integer.def_show_touches);
+
+                       loadIntegerSetting(stmt, Settings.System.POINTER_LOCATION,
+                    R.integer.def_pointer_location);
+
             // Set default cdma DTMF type
             loadSetting(stmt, Settings.System.DTMF_TONE_TYPE_WHEN_DIALING, 0);