傳感器權限:Android傳感器的使用總結

2021/12/09 03:35 · 傳感器知識資訊 ·  · 傳感器權限:Android傳感器的使用總結已關閉評論
摘要:

傳感器權限:Android傳感器的使用總結一.Android傳感器的基礎概念?隨著手機的發展,現在各大手機支持的傳感器類型也越來越多,在開發中利用傳感器進行某些操作令人們有一種耳目一新的感覺,例如微信中的搖一搖,以及手機音樂播放器中的搖一搖切歌。今天來簡單介紹下Android中傳感器的使用以及一些常用的傳感器。(一)傳感器種類

傳感器權限:Android傳感器的使用總結  第1張

傳感器權限:Android傳感器的使用總結

一.Android傳感器的基礎概念
?隨著手機的發展,現在各大手機支持的傳感器類型也越來越多,在開發中利用傳感器進行某些操作令人們有一種耳目一新的感覺,例如微信中的搖一搖,以及手機音樂播放器中的搖一搖切歌。今天來簡單介紹下Android中傳感器的使用以及一些常用的傳感器。

(一)傳感器種類
1.動作傳感器
?Android平臺支持一些用于監視設備動作的傳感器(這樣的傳感器共有5個)。其中兩個 (加速傳感器( TYPE_ACCELEROMETER)和陀螺儀(TYPE_GYROSCOPE)傳感器)是純的硬件傳感器。 另外三個(重力傳感器、線性加速傳感器和旋轉向量傳感器)可能是硬件傳感器,也可能 是軟件傳感器。例如,在一些Android設備中,這些基于軟件的傳感器會從加速和磁力傳感器中獲取數 據,但在另一些Android設備中也可能從陀螺儀傳感器中獲取數據。也就是說,同一種基于軟件的傳感器在不同的Android設備中回傳的數據可能來自不同的硬件傳感器。所以基于軟件的同一種傳感器在不同的設備中可能精確度、使用范圍有所不同。大多數高端 Android設備都會有加速傳感器,還有一些擁有陀螺儀傳感器。

2.位置傳感器
?Android平臺提供了兩個傳感器用于確定設備的位置,這兩個傳感器是磁場傳感器和方向傳感器。Android平臺還提供了測量設備正面到某一個鄰近物體距離的傳感器(鄰近傳感 器)。磁場傳感器和鄰近傳感器是基于硬件的傳感器。大多數Android手機和平板電腦都 有磁場傳感器。而鄰近傳感器通常在手機中很常見。因為可以用該傳感器測試接聽電話時 手機屏幕離臉有多遠??梢钥梢栽谫N近耳朵接聽電話時完成某些工作。方向傳感器是基于 軟件的,該傳感器的回傳數據來自加速度傳感器和磁場傳感器。

3.環境傳感器
?Android平臺提供了4個傳感器,用于檢測不同的外部環境。我們可以使用這些傳感器檢測 周圍。例如,可以檢測周圍空氣的濕度、光線、空氣的壓強和溫度。這4個傳感器都是基于 硬件的傳感器。除了光線傳感器外,其他3個傳感器在普通的Android設備中很少見。所以 如果使用環境傳感器,最好運行時對當前Android設備所支持的傳感器是否檢測。

(二)Android傳感器一覽表
傳感器類型名稱 傳感器類別 系統定義的傳感器常量 傳感器常量對應的數值
1. 加速度 TYPE_ACCELEROMETER SENSOR_TYPE_ACCELEROMETER 1
2. 磁力域 TYPE_MAGNETIC_FIELD SENSOR_TYPE_MAGNETIC_FIELD 2
3. 方向 TYPE_ORIENTATION SENSOR_TYPE_ORIENTATION 3
4. 陀螺 TYPE_GYROSCOPE SENSOR_TYPE_GYROSCOPE 4
5. 光線(亮度)TYPE_LIGHT SENSOR_TYPE_LIGHT 5
6. 壓力 TYPE_PRESSURE SENSOR_TYPE_PRESSURE 6
7. 溫度 TYPE_TEMPERATURE SENSOR_TYPE_TEMPERATURE 7
8. 臨近性 TYPE_PROXIMITY SENSOR_TYPE_PROXIMITY 8

(三)SensorManager管理器
1.SensorManager獲取所有傳感器
?Android所有的傳感器都歸傳感器管理器 SensorManager 管理,獲取傳感器管理器的方法很簡單:

SensorManager sensorManager = (SensorManager)getSystemService(Context.S ENSOR_SERVICE);

(四)從傳感器管理器中獲取其中某個或者某些傳感器的方法有如下三種:

(五)對于某一個傳感器,它的一些具體信息的獲取方法可以見下表:
1. getMaximumRange() 最大取值范圍
2. getName() 設備名稱
3. getPower() 功率
4. getResolution() 精度
5. getType() 傳感器類型
6. getVentor() 設備供應商
7. getVersion() 設備版本號
(六)注冊SensorListener
?注冊傳感器監聽狀態的改變,能在狀態改變的回調方法中,操作相應的行為。
?注冊SensorListener的方法,三個參數

sensorManager.regesterListener(SensorEventListener listener, Sensor sensor, int rate);
第一個參數為傳感器監聽
第二個參數為當前注冊的傳感器
第三個參數是延遲時間的精密度,
精密度可選擇的值
1.SensorManager.SENSOR_DELAY_FASTEST 0ms
2.SensorManager.SENSOR_DELAY_GAME 20ms
3.SensorManager.SENSOR_DELAY_UI 60ms
4.SensorManager.SENSOR_DELAY_NORMAL 200ms

(七)取消注冊SensorManager

一般在onDestroy方法里面取消。
sensorManager. unregisterListener(SensorEventListener listener);

(八)SensorEventListener監聽
?要監視原始的傳感器數據,你需要實現兩個通過SensorEventListener接口暴露的回調方法:onAccuracyChanged()和onSensorChanged()。
Android系統在任何發生下列事情的時 候都會調用這兩個方法:

1.onAccuracyChanged傳感器精度的改變:
這種情況中,系統會調用onAccuracyChanged()方法,它提供了你要引用的發生精度變化的 Sensor對象。精度使用以下四個狀態常量之一來代表的:
(1) SENSOR_STATUS_ACCURACY_LOW
(2) SENSOR_STATUS_ACCURACY_MEDIUM
(3)SENSOR_STATUS_ACCURACY_HIGH
(4) SENSOR_STATUS_UNRELIABLE

2.onSensorChanged傳感器報告新的值:
?這個也是我們一般情況下去重寫的回調方法。
?這種情況中,系統會調用onSensorChanged()方法,它提供了一個SensorEvent對象。 SensorEvent對象包含了有關新的傳感器數據的信息,包括:數據的精度、產生數據的傳感器、產生數據時的時間戳、以及傳感器記錄的新的數據。

注意:傳感器是非常耗電的,在不用時一定要釋放。
二.幾種重要的傳感器詳細介紹
(一)動作傳感器的作用
?動作傳感器對于監測設備的移動非常有用,例如,傾斜、震動、旋轉和擺動都屬于動作傳感器的監 測范圍。設備的移動通常是對用戶輸入的直接反應。例如,用戶正在游戲中飆車,或控制游戲中的一個小球)。除此之外,設備所處的物理環境也會反應在設備的動作上,例如,用戶正常駕駛汽車,而這是 Android設備正安靜地躺在旁邊的座椅上,盡管設備沒有移動,但會隨著車的行駛而不斷震動,而且 設備也會隨著汽車的移動而移動。 對于第一種情況,可以對設備本身的相對位置進行監測。而對于第二種情況,需要考慮到設備以外的參 照系。動作傳感器本身一般并不會用于監測設備的位置,關于設備的位置需要用其他類型的傳感器進行 監測,例如,磁場傳感器。

(二)動作傳感器的回傳數據
?所有的動作傳感器都會返回三個浮點數的值(通過長度為3的數組返回),但對于不同的傳感器,這三個只的意義不同。例如,對于加速傳感器,會返回三個坐標軸的數據[。對于陀螺儀傳感器,會返回三個坐標軸的旋轉角速度。
應用:動作傳感器_搖一搖

(三)方向傳感器
?方向傳感器有三個方向的屬性值。

1.SensorEvent.values[0]: 繞著Z軸旋轉的角度。
如果Y軸(正常拿手機的方向)正對著北方,該值是0,如果Y軸指向南 方,改值是180,Y軸指向東方,該值是90,如果Y軸指向西方,該值是270。

2.SensorEvent.values[1]: 繞著X軸旋轉的度數。
?當從Z軸正方向朝向Y軸正方向,改值為正值。反之,為負值。該值在 180至-180之間變動。

3.ensorEvent.values[2]:繞著Y軸旋轉的度數。
從Z軸正方向朝向X軸正方向,改值為正值。反之,為負值。該值在180至-180之間變動。 應用:方向傳感器_指南針

(四)磁場傳感器
?這個傳感器一般開發不會用到!
?SensorEvent.values[0]: 沿著X軸的磁力(μT,millitesla) SensorEvent.values[1]: 沿著Y軸的磁力(μT,millitesla) SensorEvent.values[2]: 沿著Z軸的磁力(μT,millitesla)

(五)鄰近傳感器
?這里只返回一個參數
?SensorEvent.values[0]:
?手機正面距離鄰近物理的距離(CM)
?應用:手機接電話時屏幕熄屏

(六)光線傳感器的一些值的標準
最強的光線強度(估計只有沙漠地帶才能達到這個值)
public static final float LIGHT_SUNLIGHT_MAX = .0f;
2.萬里無云時陽光直射的強度
public static final float LIGHT_SUNLIGHT = .0f; 有陽光,但被云彩抵消了部分光線時的強度
public static final float LIGHT_SHADE = .0f; 4.多云時的光線強度
public static final float LIGHT_OVERCAST = .0f;
5.太陽剛剛升起時(日出)的光線強度
public static final float LIGHT_SUNRISE = 400.0f;
6.在陰雨天,沒有太陽時的光線強度
public static final float LIGHT_CLOUDY = 100.0f;
7.夜晚有月亮時的光線強度
public static final float LIGHT_FULLMOON = 0.25f;
8.夜晚沒有月亮時的光線強度(當然,也不能有路燈,就是漆黑一片)
public static final float LIGHT_NO_MOON = 0.001f;
一般的傳感器的使用時不用權限的,比如搖一搖,控制屏幕中圖像的上下左右滾動等等。
三.傳感器使用的一個簡單示例
本示例只要是顯示手機中存在的傳感器的類型在List View中羅列出來。

(一)布局文件activity_main.xml的設計

?布局中使用一個ScrollView來顯示某一個具體的傳感器的所有的數據,使用一個ListVIew顯示所有的傳感器的類型。

(二)java代碼的設計

(三)程序運行后的界面:
?注意這里每一個手機顯示的傳感器的個數一般不相同,模擬器顯示很少種類,一般手機都能顯示4、5個,好一點的手機會顯示9個或更多。
手機模擬器的顯示情況:

真機顯示情況:

?另外在AndroidStudio中也會顯示很多的Log信息,這里先不展示。

四.設計一個跟隨屏幕翻動而滾動的小球的示例
這里利用的是方向傳感器,但是只取其中的兩個方向就可以實現了。

(一)創建一個自定義View來顯示小球和簡單背景

(二)布局文件的設計

(三)主方法的java代碼

?傳感器的測試要在真機中運行。
?程序運后顯示的界面:

當手機往右邊和下邊傾斜后顯示的效果:
?

?但手機向某一個方向傾斜,小球就會想某個方向去滑動,這里小球沒有設置邊界,所以小球會滑出屏幕外面,想要設置其實也是很簡單的,在MyView里面設置就可以了。

?關于Android傳感器的使用并不是很多,一般的學會使用加速度傳感器和方向傳感器就可以了。而且使用它們都是不用添加權限的。

傳感器權限:Google為Chrome添加了傳感器權限控制

谷歌最近向Chrome Canary添加了“運動和光線傳感器”權限控制,以便網絡瀏覽器的用戶可以控制功能。

像Mozilla或Google這樣的瀏覽器制造商會定期向瀏覽器添加新功能。新API,傳感器API只是一個示例,添加了站點和應用程序可能使用的新功能。

API可能會將數據暴露給站點和服務,甚至可能使站點控制功能。Firefox或Chrome等Web瀏覽器支持允許用戶控制這些功能的權限。

傳感器權限僅適用于Chrome Canary; Android版和桌面版支持該選項。

Canary是Google Chrome的開發版本; 功能在Chrome瀏覽器的穩定版本中出現之前通常需要幾個月的時間。

Google為Chrome網絡瀏覽器添加了全局和每站點傳感器訪問控制,Web瀏覽器的用戶可以使用它來控制對瀏覽器中Sensor API的訪問。

默認情況下啟用對傳感器的訪問。

如果您愿意,可以全局或按站點禁用傳感器。這是你如何做到這一點:
在Chrome地址欄中加載chrome:// settings / content / sensors。這樣做會在瀏覽器中打開傳感器權限。 切換“允許站點使用運動和光傳感器”以全局啟用或禁用傳感器。 您添加到允許或阻止列表中的站點也會顯示在那里。
提示:您可以通過加載chrome:// settings / content /來管理其他API和功能的權限。大多數(例如,麥克風或相機)設置為“詢問”,這意味著Chrome會在檢測到嘗試訪問這些API時顯示提示。

該選項也適用于各個站點。只需激活Chrome放置在網址前面的圖標即可開始使用。

Chrome可能會顯示一個直接選項,允許或阻止特定網站上的運動或光傳感器。您也可以通過激活該鏈接來訪問“站點”設置。

這些顯示Chrome支持的所有權限。您對站點權限的更改僅對選定站點有效。您可以使用這些選項覆蓋全局權限,例如,允許站點上的功能或阻止它。

阻止傳感器API訪問的選項登陸 Chrome Canary 75,Google尚未透露此功能何時登陸穩定版本。Chrome 75 Stable可能是那個目標,一個大約2-3個月的版本。
80%的人都看過的文章 谷歌爬蟲正式啟用移動端優先索引 谷歌Chrome 69用戶頭像變化,并非同步Google所有賬戶 谷歌Chrome修補漏洞:隱身模式用戶不能再被阻止訪問 Google承諾:將針對提供有害廣告體驗的網站做出懲罰 Chrome 和 Windows 10 時間軸即將互相同步 Google 研究員披露 Windows 10 0day 漏洞 不給糖就搗蛋 Google Doodle為萬圣節推趣聞互動 Google Play 2020年度最佳游戲與應用公布

傳感器權限:前言

android傳感器

Android平臺特別適合Java?開發人員,是使用硬件傳感器創建創新應用程序的理想選擇。 了解可用于Android應用程序的一些接口選項,包括使用傳感器子系統和錄制音頻片段。

您可能會構建哪種類型的應用程序,以利用配備Android的設備的硬件功能? 任何需要電子眼睛和耳朵的東西都是不錯的選擇。 我想到了嬰兒監視器,安全系統甚至地震儀。 盡管從形而上來講,您不能一次位于兩個地方,但Android可能會以一些實用的方式幫助彌合這種差距。 在整個本文中,請記住,使用的Android設備不僅是“手機”,而且可能是部署在具有無線網絡連接的固定位置的設備,例如EDGE或WiFi。 下載本文示例的源文件。

Android感應器功能

使用Android平臺的一個令人耳目一新的方面是,您可以訪問設備本身內的某些“好東西”。 從歷史上看,無法訪問設備的底層硬件使移動開發人員感到沮喪。 盡管Android Java環境仍然位于您和硬件之間,但Android開發團隊將許多硬件功能帶到了表面。 該平臺是開源的,因此您可以靈活地收拾袖子并編寫一些代碼來完成任務。

如果尚未安裝,則可能要下載 Android SDK。 您還可以瀏覽 android.hardware軟件包的內容,并按照本文中的示例進行操作。 android.media包包含提供有用和新穎功能的類。

以下介紹了Android SDK中公開的一些面向硬件的功能。

表1. Android SDK中公開的面向硬件的功能
特征 描述 一個類,使您的應用程序可以與相機交互以拍攝照片,獲取預覽屏幕圖像以及修改用于控制相機操作方式的參數。 允許訪問Android平臺內可用傳感器的類。 并不是每臺配備Android的設備都支持中的所有傳感器,盡管考慮各種可能性很令人興奮。 (有關可用傳感器的簡短討論,請參見下文。) 由類實現的接口,該類希望在傳感器值實時更改時接收它們的更新。 應用程序實現此接口以監視硬件中可用的一個或多個傳感器。 例如,本文中的代碼包含一個實現該接口的類,以監視設備和內置加速度計的方向。 用于記錄媒體樣本的類,可用于記錄特定位置(例如嬰兒保育室)內的音頻活動。 還可以在訪問控制或安全應用程序中分析音頻剪輯以用于識別。 例如,用您的聲音打開分時度假的門可能會有所幫助,而不必與房地產經紀人見面以獲取鑰匙。 允許基本識別位圖中包含的人臉的類。 你的個性不會比你的面Kong多得多。 將其用作設備鎖意味著無需再記住密碼-手機的生物識別功能。 android.os。* 一個軟件包,其中包含幾個與操作環境交互的有用類,包括電源管理,文件監視程序,處理程序和消息類。 與許多便攜式設備一樣,使用Android的手機會消耗大量電量。 在適當的時候使設備保持“清醒”狀態以監視感興趣的事件是一個設計方面,值得我們提前注意。

在衡量現實世界中的事件時,日期和時間通常很重要。 例如,使用類可以在遇到特定事件或條件時獲取時間戳。 您可以使用和分別執行定期任務或時間點任務。

android.hardware.SensorManager包含多個常量,這些常量代表Android傳感器系統的不同方面,包括:

感應器類型

方向,加速度計,光,磁場,接近度,溫度等

采樣率

最快的游戲,普通用戶界面。
當應用程序請求特定的采樣率時,它實際上只是對傳感器子系統的提示或建議。
無法保證可以使用特定的價格。

準確性

高,低,中,不可靠。

接口對于傳感器應用程序至關重要。 它包括兩種必需的方法:

每當傳感器值更改時,都會調用方法。 該方法僅針對此應用程序正在監視的傳感器(在下面的更多內容)中調用。 該方法的參數包括一個標識已更改傳感器的整數,以及一個代表傳感器數據本身的浮點值數組。 一些傳感器僅提供單個數據值,而其他傳感器提供三個浮點值。 方向和加速度傳感器分別提供三個數據值。 的精度后,將調用方法。 參數是兩個整數:一個代表傳感器,另一個代表該傳感器的新精度值。

要與傳感器交互,應用程序必須注冊以偵聽與一個或多個傳感器有關的活動。 使用類的方法進行 。 本文中的代碼示例演示了應用程序如何注冊和注銷 。

請記住,并非每個配備Android的設備都支持SDK中定義的任何或所有傳感器。 如果特定傳感器在特定設備上不可用,則您的應用程序應正常降級。

傳感器示例

該示例應用程序僅監視方向傳感器和加速度傳感器的變化(請參見下載以獲取源代碼)。 收到更改后,傳感器值將顯示在小部件的屏幕上。 圖1顯示了正在運行的應用程序。

圖1.監視加速度和方向

該應用程序是使用帶有Android Developer Tools插件的Eclipse環境創建的。 (有關使用Eclipse開發Android應用程序的更多信息,請參閱參考資料 。)清單1顯示了此應用程序的代碼。

清單1. IBMEyes.java

該應用程序被編寫為基于正?;顒拥膽贸绦?,因為它只是使用從傳感器獲取的數據來更新屏幕。 在設備可能正在前臺執行其他活動的應用程序中,將應用程序構建為服務會更合適。

活動的方法獲取對的引用,在該位置上發生所有與傳感器相關的功能。 方法還建立對六個小部件的引用,您需要使用傳感器數據值對其進行更新。

方法使用對的引用從方法注冊傳感器更新:

第一個參數是實現接口的類的實例。 第二個參數是所需傳感器的位掩碼。 在這種情況下,應用程序正在從和請求數據。 第三個參數是系統的提示,用于指示應用程序需要多長時間更新傳感器值。

當應用程序(活動)暫停時,您要注銷偵聽器,以便不再接收傳感器更新。 這可以通過的方法完成。 唯一的參數是的實例。

在和方法調用中,應用程序都使用關鍵字 。 請注意, 類中的定義關鍵字在那里的聲明,這個類實現了接口。 這就是為什么將其傳遞給和 。

必須實現和這兩個方法。 示例應用程序實際上并不關心傳感器的精度,而是關心傳感器的當前X,Y和Z值。 方法本質上什么也不做。 它只是在每次調用時添加一個日志條目。

似乎方法被不斷調用,因為加速度計和方向傳感器正在快速發送數據。 查看第一個參數,以確定哪個傳感器正在發送數據。 識別發送傳感器后,將使用包含在浮點值數組中的數據更新適當的UI元素,該值作為方法的第二個參數傳遞。 盡管該示例僅顯示這些值,但在更復雜的應用程序中,將對這些值進行分析,并與先前的值進行比較,或者通過某種模式識別算法來確定用戶(或外部環境)在做什么。

現在,您已經檢查了傳感器子系統,下一節將回顧一個代碼示例,該示例在Android手機上記錄一些音頻。 該示例在DEV1開發設備上運行。

使用MediaRecorder

android.media包包含與媒體子系統進行交互的類。 類用于獲取媒體樣本,包括音頻和視頻。 作為狀態機運行。 您需要設置各種參數,例如源設備和格式。 設置后,錄制可能會開始任意時間,直到隨后停止。

清單2包含用于在Android設備上錄制音頻的代碼。 所顯示的代碼不包含應用程序的UI元素(有關完整的源代碼,請參見下載 )。

清單2.錄制音頻片段

在方法中,實例化并初始化的實例:

輸入源設置為麥克風( )。 輸出格式設置為3GPP(*。3gp文件),這是一種針對移動設備的媒體格式。 編碼器設置為 ,這是一種音頻格式,以8 KHz采樣。 NB適用于窄帶。 SDK文檔說明了不同的數據格式和可用的編碼器。

音頻文件存儲在存儲卡中,而不是內部存儲器中。 返回存儲卡位置的名稱,并在該目錄中創建一個臨時文件名。 然后,通過調用方法將該文件與實例關聯。 音頻數據將存儲在此文件中。

調用方法以完成的初始化。 準備開始記錄過程時,將調用方法。 記錄會發生在存儲卡上的文件中,直到調用方法為止。 release方法釋放分配給實例的資源。

采集音頻樣本后,可以執行一些操作:

將音頻添加到設備上的媒體庫。 執行一些模式識別步驟以識別聲音:
這是嬰兒在哭嗎? 這是所有者的聲音,我們應該解鎖手機嗎? 這是用來打開通往秘密入口大門的“開芝麻”一詞嗎? 自動將音頻文件上傳到網絡位置進行處理。

在代碼示例中, 方法將音頻添加到媒體庫。 用于通知設備上媒體應用程序有新內容可用。

關于此代碼段的最后一個注意事項:如果您嘗試使用它,則一開始將不會錄制音頻。 您將看到一個創建的文件,但沒有音頻。 您需要向AndroidManifest.xml文件添加權限:

至此,您已經學到了一些有關與Android傳感器進行交互以及錄制音頻的知識。 下一節將更廣泛地介紹與數據收集和報告系統相關的應用程序體系結構。

Android作為傳感器平臺

Android平臺擁有多種用于監控環境的傳感器選項。 通過一系列輸入或刺激選項,再加上強大的計算和聯網功能,Android成為構建真實系統的理想平臺。 圖2顯示了輸入,應用程序邏輯以及通知方法或輸出之間的關系的簡化視圖。

圖2.以Android為中心的傳感器系統的框圖

這種架構是靈活的。 可以在本地Android設備和服務器端資源之間分配應用程序邏輯,后者可以利用更大的數據庫和更高的計算能力。 例如,記錄在本地Android裝置可以是音頻軌道編到其中數據被針對的語音模式的數據庫相比較的Web服務器。 顯然,這只是在摸索可能性的表面。 希望您有動力更深入地將Android引入手機以外的平臺。

摘要

在本文中,您對Android傳感器進行了介紹。 樣例應用程序測量了方向和加速度,并使用類與記錄功能進行了 。 Android是用于構建實際系統的靈活,有吸引力的平臺。 Android空間正在Swift成熟,并且正在走向成熟。 請務必注意此平臺。

翻譯自:

android傳感器
傳感器權限:Android傳感器的使用總結  第2張

傳感器權限:微信身體傳感器權限是什么意思(身體傳感器權限介紹)

智能手機之所以能夠如此強大,除了強悍的硬件性能以外,最主要的還是豐富多彩的APP應用。正是有了這么多可以自由下載安裝的APP應用,我們的智能手機才可以做到“千人千面”,功能全面的同時不失個性。但是由于系統的差異性,安卓APP每次安裝之前都要向用戶申請一長串權限。這些權限有些看起來還和APP應用并沒有什么太大的關聯。這些權限到底能夠起到什么作用,一款APP真要這么多權限嗎?小編就針對一些常見的權限進行解析,讓大家看透應用的“貓膩”。
常見APP應用所需要的權限
為了方便解釋權限帶來的功能,小編就拿常用的微信APP來舉例。小編使用的是華為手機,依次點開【設置】、【應用】、【權限管理】,在“應用”列表里找到“微信”APP,點開進入“微信權限”管理界面。由于權限列表過長,這里就不截圖了。有條件的讀者可以自行打開權限列表比對,小編就從上往下依次進行解析說明。
1、“存儲”權限
“存儲”權限幾乎絕大多數APP應用都會調用的權限。因為這個權限對于一款APP來說,是十分重要的。我們登錄微信的賬戶信息、頭像,我們的各種聊天記錄、圖片、文檔等等數據,都是會保存在手機的內部存儲里,方便隨時調用查看。但凡需要向手機存儲中讀取或者寫入數據的APP應用,這個權限是必然會申請的,否則APP將無法正常使用。
2、“電話”權限
所謂“電話”權限,其本質并不僅僅局限于撥號通話。這個權限真正最重要的功能就是讀取手機的IMEI設備識別串碼。IMEI設備識別串碼可以說是手機的一個身份證,應用可以通過這個串碼與自己的數據庫進行比對,來判斷這個設備的情況。例如這個手機是否是第一次注冊微信,是否曾經有人通過這個設備上的微信做過違規的事情等等。所以說,但凡申請“電話”權限的APP,最終都是會把這個手機設備的IMEI串號發送到服務器的數據庫里,同時還可以讀取我們的通話記錄,會出現隱私泄露的可能。
3、“位置信息”權限
這個權限大家一看就明白了,我們使用微信發送定位功能時,必然會調用到這個權限。甚至是微信里的一些公眾號、小程序、小游戲等等,都會申請使用定位信息,來滿足定位社交的功能。當然,定位功能關閉或者權限關閉,對于微信的使用影響并不大。開啟這個權限也有隱私泄露的可能。
4、“相機”權限
顧名思義,當你使用微信拍照、上傳拍照頭像以及錄視頻的時候,自然就需要這個權限了。這個權限相對來說比較安全,一般手機在攝像頭被使用的時候,系統界面或者相機旁邊的指示燈會有提醒。其他APP到底是否需要用到這個權限,就需要根據不同的使用功能來判斷了。
5、“麥克風”權限
當我們使用微信發送語音信息的時候,麥克風就會開始工作。所以對于微信來說,這個權限是必須的。與“相機”權限相比,“麥克風”權限具有一定的隱蔽性。如果并非正規APP公司出品的應用,那么就有可能會出現監聽、錄音的風險。所以大家需要慎重對待這個權限。
6、“通訊錄”權限
微信有一個功能就是通過通訊錄來搜索添加好友,而且微信還可以備份/恢復手機的通訊錄。所以這個權限的使用也是合理的。不過通訊錄可以說是僅次于照片和視頻的隱私信息了。一些不正規的APP應用會利用這個權限盜取我們的通訊錄,并且還可以利用大數據,通過通訊錄中的號碼建立關系網,從而摸清我們的社交關系,甚至探查出我們的職業信息、工作履歷、經濟狀況等等,騷擾電話接踵而至。這是一個隱私泄露風險非常高的權限,大家務必慎重對待。
7、“應用內安裝其他應用”權限
這個權限相對來說就并不是很重要了。一般來說,這個權限的主要功能就是用于APP自動更新。雖然我們可以通過應用市場來更新APP,但是有時候應用市場的審核速度較慢,APP應用卻已經在開啟的時候提醒有新版本了。這時候如果我們通過APP應用內自帶的更新功能安裝新版APP,就會出現這個權限的申請。同意該權限,APP就可以直接安裝最新版了。安裝時會進入安裝APP的界面,用戶自行確認是否繼續安裝。所以我們不用擔心會不會偷偷給我們裝一大堆垃圾軟件。
8、“懸浮窗”權限
這個功能也沒有什么危害,微信支持公眾號等沒有看完的信息臨時收起來,待處理完其他事情后繼續恢復之前的界面。收起時會有一個懸浮小標簽懸停在屏幕邊緣,要實現這個功能就需要懸浮窗權限。
9、“身體傳感器”和“健康運動”權限
這兩個權限可以放在一起說,主要作用就是微信運動記錄或讀取個人運動情況。前者是微信自己通過手機的傳感器來記錄你的運動情況,后者是微信通過手機系統自帶的“健康運動”相關APP,讀取你的運動信息。前者局限于手機的運動數據,如果你手機放在家里,帶著運動手環出去跑步的話,前者就無法記錄到你的運動信息,只能通過后者來訪問能夠讀取到你運動手環信息的APP,進而獲得你的運動數據。一般只有運動有關的功能才會使用到這個權限,很容易甄別。
10、“創建桌面快捷方式”權限
這個權限使用率并不高,一般只有在特殊情況下,允許將某個頁面做成快捷方式放在桌面上,方便用戶下次進行直接打開的時候,才會使用到這個功能。小編只是在偶然的幾次機會中見到過,平時基本用不到這個功能,所以就不多做解釋了。
總結
以上就是微信APP中常用的權限。一款APP到底是否需要這么多的權限,需要單獨進行分析。像微信這樣的正規手機APP應用,使用的權限都有其真正的用處,用戶可以放心授權。但是如果功能很少但是權限卻申請很多的APP,就需要多加注意了,必要時可以通過限制權限的授權來保護我們的個人隱私

您可能感興趣的文章

本文地址:http://www.marisaherron.com/11918.html
文章標簽: ,  
版權聲明:本文為原創文章,版權歸 ceomba 所有,歡迎分享本文,轉載請保留出處!

文件下載

老薛主機終身7折優惠碼boke112

上一篇:
下一篇:

評論已關閉!