在定制系统开发中,有时会遇到客户为了方便生产测试硬件主板,客户会提出生产测试软件需要默认打开开发者选项中的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);