Android查询/设置Settings的值

    通常很多定制系统或者与系统相关的应用都需要查询/设置 Settings(设置)里边的值,比如系统亮度,休眠时间,锁屏之类的系统设置等,主要通过 SettingsProvider来查询/设置,前提是要知道所要修改的值的数据类型与字符串代表的name。     对应的name值与数据类型在./ics/frameworks/base/core/java/android/provider/Settings.java文件中,例举两个例子如下:
1.查询休眠时间: [java] view plain copy
  1. /** 
  2. * 获取系统休眠时间 
  3. * @return 秒数(从不待机 返回0) 
  4. */  
  5. public static String getTimeOut(ContentResolver resolver){  
  6. int timeOut = 0;  
  7. try {  
  8. timeOut = android.provider.Settings.System.getInt(resolver, Settings.System.SCREEN_BRIGHTNESS);  
  9. timeOut /= 1000;  
  10. catch (SettingNotFoundException e) {  
  11. e.printStackTrace();  
  12. }  
  13. String timeOutStr = timeOut + "";  
  14. return timeOutStr;  
  15. }  

2.更改系统亮度: [java] view plain copy
  1. /** 
  2. * 保存亮度设置状态 
  3. * 改变setting值 
  4. * @param resolver 
  5. * @param brightness : 0~1 
  6. */  
  7. public static void saveBrightness(ContentResolver resolver, float brightness) {  
  8. Uri uri = android.provider.Settings.System  
  9. .getUriFor(Settings.System.SCREEN_BRIGHTNESS);  
  10. android.provider.Settings.System.putInt(resolver, Settings.System.SCREEN_BRIGHTNESS,  
  11. (int)(brightness*255));  
  12. resolver.notifyChange(uri, null);  
  13. }  

需要权限:

[html] view plain copy
  1. <uses-permission android:name="android.permission.WRITE_SETTINGS" />  
PS:

a.查询Settings中各个属性所对应的值(Android APIs):http://developer.android.com/reference/android/provider/Settings.System.html

b.ContentResolver Context提供getContentResolver()方法可以获取ContentResolver对象,便可以操作文中前边所提的 SettingsProvider所暴露的数据。 c.Android系统提供大量的SettingsProvider,Settings除外,常用的还有管理联系人(ContactsContract)、短信(Telephony)、多媒体数据(MediaStore)等,对应的URI可到这里查看:http://developer.android.com/reference/android/provider/package-summary.html,源码路径:./ics/frameworks/base/core/java/android/provider/ d.Settings默认初始值的位置(修改之前最好弄明白先,修改后再测试一下): frameworks/base/packages/SettingsProvider/res/values/defaults.xml

========================================================================= Android中的android.provider.Settings.System系统属性设定

Content Provider中的Setting.System表格内存储了很多系统属性的值,以键值对的形式存在!

可以对如下的变量进行设置

Constants
String ACCELEROMETER_ROTATION Control whether the accelerometer will be used to change screen orientation.
String ADB_ENABLED This constant is deprecated. Use ADB_ENABLED instead
String AIRPLANE_MODE_ON Whether Airplane Mode is on.
String AIRPLANE_MODE_RADIOS A comma separated list of radios that need to be disabled when airplane mode is on.
String ALARM_ALERT Persistent store for the system-wide default alarm alert.
String ALWAYS_FINISH_ACTIVITIES If 1, the activity manager will aggressively finish activities and processes as soon as they are no longer needed.
String ANDROID_ID This constant is deprecated. Use ANDROID_ID instead
String APPEND_FOR_LAST_AUDIBLE Appended to various volume related settings to record the previous values before they the settings were affected by a silent/vibrate ringer mode change.
String AUTO_TIME Value to specify if the user prefers the date, time and time zone to be automatically fetched from the network (NITZ).
String AUTO_TIME_ZONE Value to specify if the user prefers the time zone to be automatically fetched from the network (NITZ).
String BLUETOOTH_DISCOVERABILITY Determines whether remote devices may discover and/or connect to this device.
String BLUETOOTH_DISCOVERABILITY_TIMEOUT Bluetooth discoverability timeout.
String BLUETOOTH_ON This constant is deprecated. Use BLUETOOTH_ON instead
String DATA_ROAMING This constant is deprecated. Use DATA_ROAMING instead
String DATE_FORMAT Date format string mm/dd/yyyy dd/mm/yyyy yyyy/mm/dd
String DEBUG_APP Name of an application package to be debugged.
String DEVICE_PROVISIONED This constant is deprecated. Use DEVICE_PROVISIONEDinstead
String DIM_SCREEN Whether or not to dim the screen.
String DTMF_TONE_WHEN_DIALING Whether the audible DTMF tones are played by the dialer when dialing.
String END_BUTTON_BEHAVIOR What happens when the user presses the end call button if they're not on a call.
String FONT_SCALE Scaling factor for fonts, float.
String HAPTIC_FEEDBACK_ENABLED Whether the haptic feedback (long presses, ...) are enabled.
String HTTP_PROXY This constant is deprecated. Use HTTP_PROXY instead
String INSTALL_NON_MARKET_APPS This constant is deprecated. UseINSTALL_NON_MARKET_APPS instead
String LOCATION_PROVIDERS_ALLOWED This constant is deprecated. UseLOCATION_PROVIDERS_ALLOWED instead
String LOCK_PATTERN_ENABLED This constant is deprecated. Use LOCK_PATTERN_ENABLEDinstead
String LOCK_PATTERN_TACTILE_FEEDBACK_ENABLED This constant is deprecated. UseLOCK_PATTERN_TACTILE_FEEDBACK_ENABLED instead
String LOCK_PATTERN_VISIBLE This constant is deprecated. Use LOCK_PATTERN_VISIBLEinstead
String LOGGING_ID This constant is deprecated. Use LOGGING_ID instead
String MODE_RINGER Ringer mode.
String MODE_RINGER_STREAMS_AFFECTED Determines which streams are affected by ringer mode changes.
String MUTE_STREAMS_AFFECTED Determines which streams are affected by mute.
String NETWORK_PREFERENCE This constant is deprecated. Use NETWORK_PREFERENCEinstead
String NEXT_ALARM_FORMATTED A formatted string of the next alarm that is set, or the empty string if there is no alarm set.
String NOTIFICATION_SOUND Persistent store for the system-wide default notification sound.
String PARENTAL_CONTROL_ENABLED This constant is deprecated. UsePARENTAL_CONTROL_ENABLED instead
String PARENTAL_CONTROL_LAST_UPDATE This constant is deprecated. UsePARENTAL_CONTROL_LAST_UPDATE instead
String PARENTAL_CONTROL_REDIRECT_URL This constant is deprecated. UsePARENTAL_CONTROL_REDIRECT_URL instead
String RADIO_BLUETOOTH Constant for use in AIRPLANE_MODE_RADIOS to specify Bluetooth radio.
String RADIO_CELL Constant for use in AIRPLANE_MODE_RADIOS to specify Cellular radio.
String RADIO_NFC Constant for use in AIRPLANE_MODE_RADIOS to specify NFC radio.
String RADIO_WIFI Constant for use in AIRPLANE_MODE_RADIOS to specify Wi-Fi radio.
String RINGTONE Persistent store for the system-wide default ringtone URI.
String SCREEN_BRIGHTNESS The screen backlight brightness between 0 and 255.
String SCREEN_BRIGHTNESS_MODE Control whether to enable automatic brightness mode.
int SCREEN_BRIGHTNESS_MODE_AUTOMATIC SCREEN_BRIGHTNESS_MODE value for automatic mode.
int SCREEN_BRIGHTNESS_MODE_MANUAL SCREEN_BRIGHTNESS_MODE value for manual mode.
String SCREEN_OFF_TIMEOUT The timeout before the screen turns off.
String SETTINGS_CLASSNAME This constant is deprecated. Use SETTINGS_CLASSNAMEinstead
String SETUP_WIZARD_HAS_RUN Whether the setup wizard has been run before (on first boot), or if it still needs to be run.
String SHOW_GTALK_SERVICE_STATUS  
String SHOW_PROCESSES Control whether the process CPU usage meter should be shown.
String SHOW_WEB_SUGGESTIONS This constant is deprecated. Each application that shows web suggestions should have its own setting for this.
String SOUND_EFFECTS_ENABLED Whether the sounds effects (key clicks, lid open ...) are enabled.
String STAY_ON_WHILE_PLUGGED_IN Whether we keep the device on while the device is plugged in.
String SYS_PROP_SETTING_VERSION  
String TEXT_AUTO_CAPS Setting to enable Auto Caps in text editors.
String TEXT_AUTO_PUNCTUATE Setting to enable Auto Punctuate in text editors.
String TEXT_AUTO_REPLACE Setting to enable Auto Replace (AutoText) in text editors.
String TEXT_SHOW_PASSWORD Setting to showing password characters in text editors.
String TIME_12_24 Display times as 12 or 24 hours 12 24
String TRANSITION_ANIMATION_SCALE Scaling factor for activity transition animations.
String USB_MASS_STORAGE_ENABLED This constant is deprecated. UseUSB_MASS_STORAGE_ENABLED instead
String USER_ROTATION Default screen rotation when no other policy applies.
String USE_GOOGLE_MAIL This constant is deprecated. Use USE_GOOGLE_MAILinstead
String VIBRATE_ON Whether vibrate is on for different events.
String VOLUME_ALARM Alarm volume.
String VOLUME_BLUETOOTH_SCO Bluetooth Headset volume.
String VOLUME_MUSIC Music/media/gaming volume.
String VOLUME_NOTIFICATION Notification volume.
String VOLUME_RING Ringer volume.
String VOLUME_SYSTEM System/notifications volume.
String VOLUME_VOICE Voice call volume.
String WAIT_FOR_DEBUGGER If 1, when launching DEBUG_APP it will wait for the debugger before starting user code.
String WALLPAPER_ACTIVITY Name of activity to use for wallpaper on the home screen.
String WIFI_MAX_DHCP_RETRY_COUNT This constant is deprecated. UseWIFI_MAX_DHCP_RETRY_COUNT instead
String WIFI_MOBILE_DATA_TRANSITION_WAKELOCK_TIMEOUT_MS This constant is deprecated. UseWIFI_MOBILE_DATA_TRANSITION_WAKELOCK_TIMEOUT_MSinstead
String WIFI_NETWORKS_AVAILABLE_NOTIFICATION_ON This constant is deprecated. UseWIFI_NETWORKS_AVAILABLE_NOTIFICATION_ON instead
String WIFI_NETWORKS_AVAILABLE_REPEAT_DELAY This constant is deprecated. UseWIFI_NETWORKS_AVAILABLE_REPEAT_DELAY instead
String WIFI_NUM_OPEN_NETWORKS_KEPT This constant is deprecated. UseWIFI_NUM_OPEN_NETWORKS_KEPT instead
String WIFI_ON This constant is deprecated. Use WIFI_ON instead
String WIFI_SLEEP_POLICY The policy for deciding when Wi-Fi should go to sleep (which will in turn switch to using the mobile data as an Internet connection).
int WIFI_SLEEP_POLICY_DEFAULT Value for WIFI_SLEEP_POLICY to use the default Wi-Fi sleep policy, which is to sleep shortly after the turning off according to the STAY_ON_WHILE_PLUGGED_IN setting.
int WIFI_SLEEP_POLICY_NEVER Value for WIFI_SLEEP_POLICY to never go to sleep.
int WIFI_SLEEP_POLICY_NEVER_WHILE_PLUGGED Value for WIFI_SLEEP_POLICY to use the default policy when the device is on battery, and never go to sleep when the device is plugged in.
String WIFI_STATIC_DNS1 If using static IP, the primary DNS's IP address.
String WIFI_STATIC_DNS2 If using static IP, the secondary DNS's IP address.
String WIFI_STATIC_GATEWAY If using static IP, the gateway's IP address.
String WIFI_STATIC_IP The static IP address.
String WIFI_STATIC_NETMASK If using static IP, the net mask.
String WIFI_USE_STATIC_IP Whether to use static IP and other static network attributes.
String WIFI_WATCHDOG_ACCEPTABLE_PACKET_LOSS_PERCENTAGE This constant is deprecated. UseWIFI_WATCHDOG_ACCEPTABLE_PACKET_LOSS_PERCENTAGEinstead
String WIFI_WATCHDOG_AP_COUNT This constant is deprecated. UseWIFI_WATCHDOG_AP_COUNT instead
String WIFI_WATCHDOG_BACKGROUND_CHECK_DELAY_MS This constant is deprecated. UseWIFI_WATCHDOG_BACKGROUND_CHECK_DELAY_MS instead
String WIFI_WATCHDOG_BACKGROUND_CHECK_ENABLED This constant is deprecated. UseWIFI_WATCHDOG_BACKGROUND_CHECK_ENABLED instead
String WIFI_WATCHDOG_BACKGROUND_CHECK_TIMEOUT_MS This constant is deprecated. UseWIFI_WATCHDOG_BACKGROUND_CHECK_TIMEOUT_MSinstead
String WIFI_WATCHDOG_INITIAL_IGNORED_PING_COUNT This constant is deprecated. UseWIFI_WATCHDOG_INITIAL_IGNORED_PING_COUNT instead
String WIFI_WATCHDOG_MAX_AP_CHECKS This constant is deprecated. UseWIFI_WATCHDOG_MAX_AP_CHECKS instead
String WIFI_WATCHDOG_ON This constant is deprecated. Use WIFI_WATCHDOG_ONinstead
String WIFI_WATCHDOG_PING_COUNT This constant is deprecated. UseWIFI_WATCHDOG_PING_COUNT instead
String WIFI_WATCHDOG_PING_DELAY_MS This constant is deprecated. UseWIFI_WATCHDOG_PING_DELAY_MS instead
String WIFI_WATCHDOG_PING_TIMEOUT_MS This constant is deprecated. UseWIFI_WATCHDOG_PING_TIMEOUT_MS instead
String WINDOW_ANIMATION_SCALE Scaling factor for normal window animations.

通过如下的函数可以对其进行读写:

static void getConfiguration(ContentResolver cr, Configuration outConfig) Convenience function to read all of the current configuration-related settings into a Configuration object.
static float getFloat(ContentResolver cr, String name, float def) Convenience function for retrieving a single system settings value as a floating point number.
static float getFloat(ContentResolver cr, String name) Convenience function for retrieving a single system settings value as a float.
static int getInt(ContentResolver cr, String name) Convenience function for retrieving a single system settings value as an integer.
static int getInt(ContentResolver cr, String name, int def) Convenience function for retrieving a single system settings value as an integer.
static long getLong(ContentResolver cr, String name, long def) Convenience function for retrieving a single system settings value as a  long.
static long getLong(ContentResolver cr, String name) Convenience function for retrieving a single system settings value as a  long.
static boolean getShowGTalkServiceStatus(ContentResolver cr)
synchronized static String getString(ContentResolver resolver, String name) Look up a name in the database.
static Uri getUriFor(String name) Construct the content URI for a particular name/value pair, useful for monitoring changes with a ContentObserver.
static boolean putConfiguration(ContentResolver cr, Configuration config) Convenience function to write a batch of configuration-related settings from a Configuration object.
static boolean putFloat(ContentResolver cr, String name, float value) Convenience function for updating a single settings value as a floating point number.
static boolean putInt(ContentResolver cr, String name, int value) Convenience function for updating a single settings value as an integer.
static boolean putLong(ContentResolver cr, String name, long value) Convenience function for updating a single settings value as a long integer.
static boolean putString(ContentResolver resolver, String name, String value) Store a name/value pair into the database.
static void setShowGTalkServiceStatus(ContentResolver cr, boolean flag)


注意,应用程序中应加入: 

更多相关文章

  1. Android输入系统之InputChannel(下)
  2. android recovery 系统代码分析 -- 选择进入
  3. android开机启动时间优化:系统初步评估
  4. android图标适配、JPG、PNG、iOS消息推送及系统通知方式
  5. Windows7 64位系统搭建Cocos2d-x-2.2.1最新版以及Android交叉编
  6. Android用户界面 UI组件--TextView及其子类(二) Button,selector
  7. Android中的各类Span全面系统研究
  8. 诺基亚N900安装Android 2.2改版系统Nitdroid教程
  9. android客户端与服务器交互数据(基于SAOP协议的远程调用标准,通过w

随机推荐

  1. php实现顺序线性表
  2. Kubernetes 如果是个水族馆
  3. 自学系列 | 就谈自我管理!
  4. 智慧城市信息安全探讨
  5. 1-22
  6. 动画:面试必刷之二叉树的子结构
  7. 详解 centos7设置nfs文件共享 实操记
  8. 2020 总结 | VoltDB的亮点,你了解多少?
  9. 自学系列 | 俺今天就谈兴趣!
  10. 自学第五十五天