久久久精品一区ed2k-女人被男人叉到高潮的视频-中文字幕乱码一区久久麻豆樱花-俄罗斯熟妇真实视频

android應(yīng)用權(quán)限,android權(quán)限限制

android權(quán)限管理

從 Android 6.0 開始,按照是否需要動態(tài)申請分為 普通權(quán)限 和 特殊權(quán)限

創(chuàng)新互聯(lián)公司是少有的成都網(wǎng)站設(shè)計、網(wǎng)站建設(shè)、營銷型企業(yè)網(wǎng)站、微信小程序開發(fā)、手機APP,開發(fā)、制作、設(shè)計、買鏈接、推廣優(yōu)化一站式服務(wù)網(wǎng)絡(luò)公司,公司2013年成立,堅持透明化,價格低,無套路經(jīng)營理念。讓網(wǎng)頁驚喜每一位訪客多年來深受用戶好評

特殊權(quán)限 需要程序運行時申請并通過之后才能使用,或者程序安裝為系統(tǒng)應(yīng)用或系統(tǒng)簽名。

注意:

1、動態(tài)申請也需要在清單文件中配置(AndroidMenifest.xml)

2、權(quán)限是分組的,同一組的權(quán)限申請其中一個,同組的權(quán)限就全部都申請了

特殊權(quán)限共有 9 組:

9 組具體權(quán)限列表:

普通權(quán)限在清單文件配置(AndroidMenifest.xml)即可使用

(1)在 AndroidMenifest.xml 清單文件中申請

(2)單個申請

(2)批量申請

(3)回調(diào)處理

Android權(quán)限機制

我們知道 Android 應(yīng)用程序是沙箱隔離的,每個應(yīng)用都有一個只有自己具有讀寫權(quán)限的專用數(shù)據(jù)目錄。但是如果應(yīng)用要訪問別人的組件或者一些設(shè)備上全局可訪問的資源,這時候權(quán)限機制就能系統(tǒng)化地規(guī)范并強制各類應(yīng)用程序的行為準則。

Android 安全性概覽

在 Android 中,一個權(quán)限,本質(zhì)上是一個字符串,一個可以表示執(zhí)行特定操作的能力的字符串。比如說:訪問 SD 卡的能力,訪問通訊錄的能力,啟動或訪問一個第三方應(yīng)用中的組件的能力。 權(quán)限被授予了之后,首先會在內(nèi)存和本地中有記錄,這在調(diào)用系統(tǒng)binder服務(wù)和其他應(yīng)用組件時做鑒權(quán)依據(jù),比如調(diào)用系統(tǒng)binder服務(wù)時會通過Binder.getCallingUid()拿到調(diào)用者的Uid,而Uid一般都是與應(yīng)用包名一一對應(yīng)的,再拿這個Uid到PMS里去查這個應(yīng)用對應(yīng)的權(quán)限。 其次會按被授予的權(quán)限將應(yīng)用分到某個組。 可以參考

自定義權(quán)限的應(yīng)用場景在于限制其它應(yīng)用對本應(yīng)用四大組件的訪問。具體用法可以參考

pm list permissions -f 命令可以詳細查看 Android 所有預(yù)定義的權(quán)限。

更詳細的權(quán)限信息參考

可以看到一個權(quán)限的信息包括:定義的包名、標簽、描述、 權(quán)限組 和 保護級別 。

權(quán)限根據(jù)設(shè)備的功能或特性分為多個組。如果應(yīng)用已在相同權(quán)限組中被授予另一危險權(quán)限,系統(tǒng)將立即授予該權(quán)限,如READ_CONTACTS和WRITE_CONTACTS。

SYSTEM_ALERT_WINDOW 和 WRITE_SETTINGS 由于其特殊性,其申請方式與其它權(quán)限都不同。

其授予流程如下:

(關(guān)于 AppOpsManager 是什么可以參考: )

這里簡要分析下ActivityCompat#requestPermissions的流程:

更詳細的權(quán)限授予流程源碼分析可以參考:

普通權(quán)限: 清單文件中聲明即可。

危險權(quán)限: 方式一: pm grant application_package android.permission.CHANGE_CONFIGURATION 方式二:appops set application_package permission_num 0/1

appops可以授予的權(quán)限參考 android.app.AppOpsManager 中的聲明

系統(tǒng)簽名權(quán)限: 方式一:將app遷移到system/priv-app目錄中。 方式二:看不懂,參考

android 4.4 訪問sd卡需要申請權(quán)限。 您的應(yīng)用在 Android 4.4 上運行時無法讀取外部存儲空間上的共享文件,除非您的應(yīng)用具有 READ_EXTERNAL_STORAGE 權(quán)限。也就是說,沒有此權(quán)限,您無法再訪問 getExternalStoragePublicDirectory() 返回的目錄中的文件。但是,如果您僅需要訪問 getExternalFilesDir() 提供的您的應(yīng)用特有目錄,那么,您不需要 READ_EXTERNAL_STORAGE `權(quán)限。

android 6.0 運行時權(quán)限。 此版本引入了一種新的權(quán)限模式,如今,用戶可直接在運行時管理應(yīng)用權(quán)限。這種模式讓用戶能夠更好地了解和控制權(quán)限,同時為應(yīng)用開發(fā)者精簡了安裝和自動更新過程。用戶可為所安裝的各個應(yīng)用分別授予或撤銷權(quán)限。 對于以 Android 6.0(API 級別 23)或更高版本為目標平臺的應(yīng)用,請務(wù)必在運行時檢查和請求權(quán)限。要確定您的應(yīng)用是否已被授予權(quán)限,請調(diào)用新增的 checkSelfPermission() 方法。要請求權(quán)限,請調(diào)用新增的 requestPermissions() 方法。即使您的應(yīng)用并不以 Android 6.0(API 級別 23)為目標平臺,您也應(yīng)該在新權(quán)限模式下測試您的應(yīng)用。 如需了解有關(guān)在您的應(yīng)用中支持新權(quán)限模式的詳情,請參閱 使用系統(tǒng)權(quán)限 。如需了解有關(guān)如何評估新模式對應(yīng)用的影響的提示,請參閱 權(quán)限最佳做法 。

android 7.+ 應(yīng)用間共享文件要使用FileProvider。 對于面向 Android 7.0 的應(yīng)用,Android 框架執(zhí)行的 StrictMode API 政策禁止在您的應(yīng)用外部公開 。如果一項包含文件 URI 的 intent 離開您的應(yīng)用,則應(yīng)用出現(xiàn)故障,并出現(xiàn) FileUriExposedException 異常。 要在應(yīng)用間共享文件,您應(yīng)發(fā)送一項 content:// URI,并授予 URI 臨時訪問權(quán)限。進行此授權(quán)的最簡單方式是使用 FileProvider `類。如需了解有關(guān)權(quán)限和共享文件的詳細信息,請參閱 共享文件 。

android 8.+

同一權(quán)限組的權(quán)限在被授予了之后也需要顯式的再申請一次。

在 Android 8.0 之前,如果應(yīng)用在運行時請求權(quán)限并且被授予該權(quán)限,系統(tǒng)會錯誤地將屬于同一權(quán)限組并且在清單中注冊的其他權(quán)限也一起授予應(yīng)用。 對于針對 Android 8.0 的應(yīng)用,此行為已被糾正。系統(tǒng)只會授予應(yīng)用明確請求的權(quán)限。然而,一旦用戶為應(yīng)用授予某個權(quán)限,則所有后續(xù)對該權(quán)限組中權(quán)限的請求都將被自動批準。 例如,假設(shè)某個應(yīng)用在其清單中列出 READ_EXTERNAL_STORAGE 和 WRITE_EXTERNAL_STORAGE 。應(yīng)用請求 READ_EXTERNAL_STORAGE ,并且用戶授予了該權(quán)限。如果該應(yīng)用針對的是 API 級別 24 或更低級別,系統(tǒng)還會同時授予 WRITE_EXTERNAL_STORAGE ,因為該權(quán)限也屬于同一 STORAGE 權(quán)限組并且也在清單中注冊過。如果該應(yīng)用針對的是 Android 8.0,則系統(tǒng)此時僅會授予 READ_EXTERNAL_STORAGE ;不過,如果該應(yīng)用后來又請求 WRITE_EXTERNAL_STORAGE ,則系統(tǒng)會立即授予該權(quán)限,而不會提示用戶。

android 9

隱私權(quán)限變更。

為了增強用戶隱私,Android 9 引入了若干行為變更,如限制后臺應(yīng)用訪問設(shè)備傳感器、限制通過 Wi-Fi 掃描檢索到的信息,以及與通話、手機狀態(tài)和 Wi-Fi 掃描相關(guān)的新權(quán)限規(guī)則和權(quán)限組。

android 10

隱私權(quán)變更。

外部存儲訪問權(quán)限范圍限定為應(yīng)用文件和媒體,在后臺運行時訪問設(shè)備位置信息需要權(quán)限,針對從后臺啟動 Activity 的限制等。

android 11

隱私權(quán)限變更。

更詳細的版本變更請參考

Android應(yīng)用程序獲取system權(quán)限

支持原作者 :

軟硬件環(huán)境

ubuntu 14.04

Android studio2.1.2

Android 5.1.1

前言

一般的Android應(yīng)用程序,在安裝后,程序只能訪問/data/data/${程序包名}下的數(shù)據(jù),如常見的SharedPreferences、database等。

而如果想讓app訪問其它地方的資源時,就必須要獲取更高的權(quán)限,像system或者root。本文完成system權(quán)限的獲取,實際上一般的應(yīng)用有system的權(quán)限基本上也夠了。

修改apk內(nèi)的AndroidManifest.xml

在app中的AndroidManifest.xml文件中的manifest標簽中加入

android:sharedUserId="android.uid.system"

APP工程生成apk文件

android studio或者eclipse自動就幫你生成好了

給apk文件進行簽名

這里分兩種情況,一種是廠商,有android系統(tǒng)源碼,既可以把app源碼導(dǎo)入到android源碼中,也可以單獨完成簽名。第二種是你僅僅是做應(yīng)用的,拿不到廠商的source code,而且

這種情況也相當(dāng)普遍,怎么辦?別著急,我們今天就來解決這個問題。

簽名需要的幾個文件

這個你必須找廠商要,signapk.jar、platform.x509.pem、platform.pk8,如果你有source code,signapk.jar存放在prebuilts/sdk/tools/,platform.* 兩個key文件存放在build/target/product/security/下

簽名具體命令

java -jar signapk.jar platform.x509.pem platform.pk8 unsigned.apk signed.apk

制作新的image文件

如果你的應(yīng)用需要預(yù)置到android系統(tǒng)中,將signed.apk導(dǎo)入到android源碼目錄中(一般是out/target/product/${hardware}/system/app/下),編譯生成新的

system.img,再燒錄到目標板中。如果不需要預(yù)置,那就直接adb install好了。

測試

待系統(tǒng)啟動后adb shell到板子上,ls -l查看app安裝目錄(/data/data/${程序包名})的權(quán)限,看看是不是變成system:system了。

網(wǎng)站題目:android應(yīng)用權(quán)限,android權(quán)限限制
網(wǎng)頁URL:http://sd-ha.com/article2/dseshoc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)云服務(wù)器、網(wǎng)站建設(shè)、響應(yīng)式網(wǎng)站、定制網(wǎng)站、微信小程序

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁設(shè)計公司