Android 12系統源碼_設備設置(一)Settings介紹

前言

Settings 類是一個用于訪問和管理設備設置的關鍵類,而=作為系統開發人員,經常需要用這個類來做一些系統設備設置,而Settings里面存在著好幾個處理不同領域的設備設置類,那么如何才能結合自己的業務場景正確選擇使用這些設備設置類呢?這就需要我們先了解這些類的作用和使用場景,本篇文章我們將會結合系統源碼來梳理一下和Setting相關的知識。

一、Settings簡介

在 Android 開發中,Settings 類是用于訪問和管理設備設置的核心類之一。它位于 android.provider 包中,提供了靜態常量和方法來操作三種不同類型的設備設置,Settings類中存在著四個繼承自NameValueTable的內部靜態類。

base/core/java/android/provider/Settings.java

public final class Settings {public static class NameValueTable implements BaseColumns {}public static final class System extends NameValueTable {}public static final class Secure extends NameValueTable {}public static final class Global extends NameValueTable {}public static final class Config extends NameValueTable {}
}

Settings.System、Settings.Secure、Settings.Global、Settings.Config這四個內部類各自負責著不同類型的設備設置。

1、Settings.Global:
作用:用于管理設備的全局設置,這些設置通常是跨所有用戶的,對所有應用程序可見且具有全局影響。
例子:Wi-Fi狀態、自動時間、ADB調試狀態、USB調試狀態等。

2、Settings.System:
作用:用于管理設備的系統設置,包括控制設備的行為和外觀。
例子:屏幕亮度、聲音設置、時鐘格式、振動設置等。

3、Settings.Secure:
作用:用于管理設備的安全設置和用戶首選項,這些設置對用戶的隱私和設備的安全性有直接影響。
例子:設備的鎖屏方式、帳戶和同步設置、位置提供程序設置等。

4、Settings.Config:
作用:這是一個較為特殊的類,用于讀取和設置與設備配置相關的信息。
例子:設備的本地化語言、地區、鍵盤設置等。
權限:訪問或修改這些配置通常需要相應的權限,例如 CHANGE_CONFIGURATION。

二、Settings設備設置屬性的讀寫

1、Settings.Global
權限:訪問或修改全局設置通常需要 WRITE_SETTINGS 權限;所有的偏好設置對系統的所有用戶公開,第三方APP有讀沒有寫的權限
對應xml路徑:/data/system/users/0/settings_global.xml

  • adb讀寫:
settings get global 系統屬性key 或者 settings list global |grep 系統屬性key
settings put global 系統屬性key 系統屬性值
settings delete global 系統屬性key 
  • 代碼讀寫:
Settings.Global.getLong(context.getContentResolver(), key, defaltValue);
Settings.Global.putLong(mContext.getContentResolver(), key, value);

2、Settings.System
權限:訪問或修改某些系統設置可能需要 WRITE_SETTINGS 權限;所有的偏好設置對系統的所有用戶公開,第三方APP有讀沒有寫的權限;
對應xml路徑:/data/system/users/0/settings_system.xml

  • adb讀寫:
settings get system 系統屬性key 或者 settings list system |grep 系統屬性key
settings put system 系統屬性key 系統屬性值
  • 代碼讀寫:
Settings.System.getLong(context.getContentResolver(), key, defaltValue);
Settings.System.putLong(mContext.getContentResolver(), key, value);

3、Settings.Secure
權限:訪問或修改某些安全設置可能需要 WRITE_SECURE_SETTINGS 權限;安全性的用戶偏好系統設置,第三方APP有讀沒有寫的權限。
對應xml路徑:/data/system/users/0/settings_secure.xml

  • adb讀寫:
settings get secure 系統屬性key 或者 settings list secure |grep 系統屬性key
settings put secure 系統屬性key 系統屬性值
  • 代碼讀寫:
Settings.Secure.getLong(context.getContentResolver(), key, defaltValue);
Settings.Secure.putLong(mContext.getContentResolver(), key, value);

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/43457.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/43457.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/43457.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

微信小程序開發跳轉京東,淘寶小程序

沒有淘寶小程序,所以只能提示他復制鏈接網頁打開 跳轉京東小程序 獲取京東小程序 京東小程序appId:wx91d27dbf599dff74 或者點開京東小程序,查看詳情即可獲取到京東的appid 店鋪頁面路徑 店鋪首頁:pages/shop/index/index?…

《無所不能的JavaScript · prototype 原型鏈》

📢 大家好,我是 【戰神劉玉棟】,有10多年的研發經驗,致力于前后端技術棧的知識沉淀和傳播。 💗 🌻 近期剛轉戰 CSDN,會嚴格把控文章質量,絕不濫竽充數,歡迎多多交流。&am…

OpenWrt入門 (1) - 登錄及ssh命令接入wifi

本文參考自: [OpenWrt 維基]在 OpenWrt 上啟用 Wi-Fi 接入點 --- [OpenWrt Wiki] Enabling a Wi-Fi access point on OpenWrt 需要詳細了解的小伙伴請看原文 基本概念 OpenWrt是適用于嵌入式設備的一個Linux發行版。 相對原廠固件而言,OpenWrt不是一個單一、靜態…

企業如何從無序管理走向精益生產管理?

先來看看企業生產管理無序的弊端有哪些? 數據統計不及時:紙質生產工單,數據難統計,各業務環節問題難定位,影響車間生產效率。生產過程不透明:生產過程數據難監控,生產派工管理混亂,…

【前端】面試八股文——meta標簽

【前端】面試八股文——meta標簽 在HTML文檔中&#xff0c;meta標簽是一個關鍵但常被忽視的元素。它位于文檔的<head>部分&#xff0c;用于提供關于HTML文檔的元數據&#xff08;metadata&#xff09;。這些元數據不會直接顯示在頁面上&#xff0c;但對搜索引擎優化&…

web前端開發——標簽一

今天我來針對web前端開發講解標簽一 Html標簽_標題&段落&換行 注釋標簽&#xff1a;Ctrl/ Ctrl/ &#xff0c;用戶可能會獲取到注釋標簽 注釋的原則: ?和代碼邏輯一致 ?盡量使用中文 ?正能量 標題標簽&#xff1a;<h1></h1> h1-h6 標題標簽有6…

C++線程鎖std::mutex

基本用法 “mutex”是“mutual exclusion”的縮寫&#xff0c;意思是互斥鎖。互斥鎖用于多線程編程中&#xff0c;以確保同一時間只有一個線程能夠訪問某一共享資源&#xff0c;從而避免數據競爭和不一致性。 std::mutex是最基本的互斥鎖&#xff0c;用于保護共享數據。它有兩…

Vue3框架搭建2:axios+typescript封裝

倉庫地址&#xff1a;https://github.com/buguniao5213/LuArch&#xff08;分支代碼未上傳&#xff0c;完整一系列后傳一波&#xff0c;中途有需求可以再傳&#xff09; 1、安裝axios npm install axios2、創建文件 先創建一個文件夾&#xff1a; ├── src/ │ ├── …

51單片機-第二節-數碼管

一、數碼管介紹&#xff1a; 1.什么是數碼管&#xff1f; 多個LED組合成8字顯示器。 2.一位數碼管的引腳&#xff08;只有一個8&#xff09;&#xff1a; 數碼管的引腳為1-10&#xff0c;其中公共極為3,8&#xff0c;其余八位分別對應一個二極管&#xff0c;如下圖&#xff…

Vue2 基礎十Vuex

代碼下載 Vuex 概述 組件之間共享數據的方式&#xff1a; 父組件向子組件傳值&#xff0c;是以屬性的形式綁定值到子組件&#xff08;v-bind&#xff09;&#xff0c;然后子組件用屬性props接收。子組件向父組件傳值&#xff0c;子組件用 $emit() 自定義事件&#xff0c;父組…

JavaScript--local storage存儲的數組不可擴展的問題

數組擴展 問題解析解決辦法總結進一步擴展原因 問題 下列代碼中的points是從本地存儲中獲取到的數據&#xff0c;我想存儲到一個Map并且新增元素的時候報錯 let obj this.objectsManager._objects.get(obstacle.uuid);let points obj.track_points;this.dyObstacleTP.set(ob…

【大模型】大模型相關技術研究—微調

為什么要對大模型進行微調 1.成本效益&#xff1a; o 大模型的參數量非常大&#xff0c;訓練成本非常高&#xff0c;每家公司都去從頭訓練一個自己的大模型&#xff0c;這個事情的性價比非常低。 2.Prompt Engineering 的局限性&#xff1a; o Prompt Engineering 是一種相…

視圖庫對接系列(GA-T 1400)十二、視圖庫對接系列(本級)人員數據推送

背景 人體和非機動車和機動車類似的,只是請求的參數不一樣而已。人員數據推送 接入人員數據推送相對比較簡單,我們只需要實現對應的接口就ok了。 具體如圖: 有增刪改查接口,目前的話 因為我們是做平臺,我們只需要實現添加接口就可以了。 接口實現 service 層 /**** …

軟件工程面向對象 超市管理系統 需求分析 系統設計 課程設計報告

1、引言 系統簡述 超市管理系統的功能主要有前臺管理和后臺管理兩個大塊。其使用對象 有超市管理人員和超市銷售人員兩類。超市管理系統主要為了實現商品輸 入、 輸出管理數據的自動化&#xff0c; 提高商品統計信息的實時性&#xff0c; 減輕人工勞動強 度從而節省人力成本。實…

Perl 語言開發(九):深入探索Perl語言的文件處理

目錄 1. 文件打開與關閉 1.1 打開文件 1.2 關閉文件 2. 讀取文件內容 2.1 逐行讀取 2.2 一次性讀取整個文件 3. 寫入文件內容 3.1 覆蓋寫入 3.2 追加寫入 4. 文件測試操作 4.1 文件測試運算符 5. 文件路徑操作 5.1 文件路徑處理模塊 5.2 獲取文件路徑信息 6. 文…

探索加油小程序開發:便捷出行的科技新篇章

在快節奏的現代生活中&#xff0c;出行已成為人們日常生活中不可或缺的一部分。隨著移動互聯網技術的飛速發展&#xff0c;各類小程序以其輕量、便捷的特點迅速融入人們的日常生活&#xff0c;其中&#xff0c;加油小程序作為智慧出行領域的一股清流&#xff0c;正悄然改變著我…

《簡歷寶典》04 - 簡歷的“個人信息”模塊,要寫性別嗎?要放照片嗎?

平時幫助小伙伴們優化簡歷的時候&#xff0c;我看見他們有人會寫性別&#xff0c;有人不會寫。 目錄 1 招聘團隊的考慮 2 性別是無法改變的&#xff0c;能不寫就不寫 3 什么情況下&#xff0c;需要寫性別呢&#xff1f; 4 簡歷中要加照片嗎&#xff1f; 1 招聘團隊的考慮 …

Go語言---異常處理error、panic、recover

異常處理 Go 語言引入了一個關于錯誤處理的標準模式,即 error 接口,它是 Go 語言內建的接口類型,該接口的定義如下: package errorsfunc New(text string) error {return &errorString{text} }// errorString is a trivial implementation of error. type errorString st…

springboot事故車輛與違章車輛跟蹤系統-計算機畢業設計源碼03863

springboot事故車輛與違章車輛跟蹤系統 摘 要 科技進步的飛速發展引起人們日常生活的巨大變化&#xff0c;電子信息技術的飛速發展使得電子信息技術的各個領域的應用水平得到普及和應用。信息時代的到來已成為不可阻擋的時尚潮流&#xff0c;人類發展的歷史正進入一個新時代。…

W外鏈怎么樣,他們家的短網址免費的嗎?

W外鏈作為短網址服務的一種&#xff0c;體現了短網址技術的現代發展趨勢&#xff0c;它不僅提供了基礎的網址縮短功能&#xff0c;還擴展了一系列高級特性和增值服務&#xff0c;以適應更廣泛的市場需求。根據相關參考內容&#xff0c;W外鏈具有以下特點和優勢&#xff1a; 短域…