日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Android 7.0 運行時權限彈窗問題的解決

瀏覽:336日期:2022-09-26 08:21:53

Android 7.0系統在運行應用的時候,對權限做了諸多限制,normal, dangerous, signature, signatureOrSystem ,取決于保護級別,在確定是否授予權限時,系統可能采取不同的操作。

normal 表示權限是低風險的,不會對系統、用戶或其他應用程序造成危害; dangerous 表示權限是高風險的,系統將可能要求用戶輸入相關信息,才會授予此權限; signature 表示只有當應用程序所用數字簽名與聲明引權限的應用程序所用數字簽名相同時,才能將權限授給它; signatureOrSystem 表示將權限授給具有相同數字簽名的應用程序或android 包類。這一保護級別適和于非常特殊的情況,比如多個供應商需要通過系統映像共享功能時

運行時權限彈窗問題是很多系統定制的客戶要求屏蔽的,一直以來沒有特別好的方法,下面我分享一下我自己驗證可行的方案

方案1,修改frameworks/base/services/core/java/com/android/server/pm/PackageManagerService和frameworks/base/services/core/java/com/android/server/pm/DefaultPermissionGrantPolicy文件,PackageManagerService文件修改代碼如下:

@Override public void systemReady() { ... synchronized (mPackages) { ... for (int userId : UserManagerService.getInstance().getUserIds()) {//if (!mSettings.areDefaultRuntimePermissionsGrantedLPr(userId)) {//注釋掉這個判斷 grantPermissionsUserIds = ArrayUtils.appendInt( grantPermissionsUserIds, userId);//} } }

DefaultPermissionGrantPolicy文件修改代碼如下:

private void grantPermissionsToSysComponentsAndPrivApps(int userId) { Log.i(TAG, 'Granting permissions to platform components for user ' + userId); synchronized (mService.mPackages) { for (PackageParser.Package pkg : mService.mPackages.values()) { // if (!isSysComponentOrPersistentPlatformSignedPrivAppLPr(pkg) //刪掉isSysComponentOrPersistentPlatformSignedPrivAppLPr判斷 if(!doesPackageSupportRuntimePermissions(pkg) || pkg.requestedPermissions.isEmpty()) { continue;}Set<String> permissions = new ArraySet<>();final int permissionCount = pkg.requestedPermissions.size();for (int i = 0; i < permissionCount; i++) { String permission = pkg.requestedPermissions.get(i); BasePermission bp = mService.mSettings.mPermissions.get(permission); if (bp != null && bp.isRuntime()) { permissions.add(permission); }}if (!permissions.isEmpty()) { grantRuntimePermissionsLPw(pkg, permissions, true, userId);} } } }

簡單說明下這個方案的修改原理,在PMS的systemReady方法中會遍歷所有擁有默認運行時權限應用,通過遍歷它們的UserId來賦予權限,注釋掉判斷是否為擁有運行時權限的應用方法后,會遍歷所有應用,遍歷應用且賦予權限的操作是在DefaultPermissionGrantPolicy中grantPermissionsToSysComponentsAndPrivApps方法,注釋掉判斷簽名應用和系統應用的方法,普通應用也可以獲取所有運行時權限,這樣所有應用都不會有運行時權限的彈窗了。

方案2,只修改frameworks/base/services/core/java/com/android/server/pm/PackageManagerService文件,修改grantPermissionsLPw方法,代碼如下:

private void grantPermissionsLPw(PackageParser.Package pkg, boolean replace, String packageOfInterest) { ... /*add for grant thirdparty app permssion S*/ final String thirdPkgName = SystemProperties.get('persist.thirdparty.packagenames',''); if(isSystemApp(pkg) || pkg.packageName.contains(thirdPkgName)){//xxx為包名 final int permCount = pkg.requestedPermissions.size(); for(int i = 0;i < permCount;i++){ final String name = pkg.requestedPermissions.get(i); final BasePermission bp = mSettings.mPermissions.get(name); if(bp != null && permissionsState.grantInstallPermission(bp) != PermissionsState.PERMISSION_OPERATION_FAILURE){changeInstallPermission = true; } } /*add for grant thirdparty app permission E*/ permissionsState.setGlobalGids(mGlobalGids); ... }

簡單解釋下第二中方案的思路,PMS在應用安裝的時候會根據應用是否為簽名應用、系統應用或三方應用來更新權限,這里可以做成白名單的形式,目前通過SystemProperties來獲取三方包名可以通過adb或者串口來測試三方應用權限是否可以正常獲取。兩種方案大家可以自由選擇。

到此這篇關于Android 7.0 運行時權限彈窗問題的解決的文章就介紹到這了,更多相關Android7.0 權限彈窗 內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Android
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
亚洲精品无播放器在线播放| 亚洲免费中文| 日韩影院精彩在线| 蜜臀av性久久久久蜜臀aⅴ流畅| 鲁大师成人一区二区三区| 日韩视频不卡| 中文字幕亚洲影视| 综合激情五月婷婷| 91精品一区| 久久久久九九精品影院| 日韩成人a**站| 好吊一区二区三区| 日韩精品一区二区三区免费视频| 欧美日韩一区二区三区在线电影| 麻豆精品新av中文字幕| 黄色aa久久| 在线精品小视频| 免费在线成人网| 国产欧美亚洲精品a| 涩涩av在线| 久色成人在线| 免费一级欧美在线观看视频| 蜜桃av在线播放| 日韩中文字幕区一区有砖一区| 日韩高清国产一区在线| 色一区二区三区| 视频一区二区三区在线| 国产精品1区| 99久久精品费精品国产| 婷婷综合成人| 亚洲欧洲高清| 日韩国产在线观看| 里番精品3d一二三区| 在线午夜精品| 精品视频免费| 日韩精品一卡二卡三卡四卡无卡| 国产激情欧美| 欧美一区=区| 高清精品久久| 亚洲专区一区| 在线天堂中文资源最新版| 日韩在线一区二区| a国产在线视频| 亚洲综合婷婷| 久久婷婷激情| 国产高清亚洲| 在线看片日韩| 国产+成+人+亚洲欧洲在线| 一区二区国产在线观看| 中文在线а√天堂| 日韩av中文字幕一区二区三区| 成人看片网站| 国产乱人伦精品一区| 亚洲欧美日韩在线观看a三区| 超碰在线99| 国产精品手机在线播放| 蜜臀精品一区二区三区在线观看| 欧美精选视频一区二区| 国产精品日本一区二区三区在线| 伊人久久亚洲美女图片| 日本欧美国产| 国产高清日韩| 亚洲精品少妇| 欧美亚洲精品在线| 日韩成人精品一区二区| 国产欧美啪啪| 日韩欧美久久| 国产精品色网| 婷婷成人基地| 精品国模一区二区三区| 黄色网一区二区| 欧美片网站免费| 亚洲免费毛片| 久久一二三区| 9色国产精品| 亚洲国产影院| 久久精品动漫| 午夜精品成人av| 国产精品视频3p| 国产欧美精品久久| 日本视频中文字幕一区二区三区| 免费人成在线不卡| 最新日韩欧美| 99视频在线精品国自产拍免费观看| 国产精品毛片久久| 精品国产乱码久久久久久樱花| 国产日韩欧美一区二区三区 | 日韩成人午夜精品| 蜜桃久久av| 日韩中文字幕亚洲一区二区va在线 | 日韩精品久久久久久久软件91| 亚洲美洲欧洲综合国产一区| 黑丝美女一区二区| 亚洲精品99| 日韩午夜电影| 男人的天堂久久精品| 日韩在线一区二区| 免费久久99精品国产自在现线| 国产精品91一区二区三区| 91成人精品视频| 99pao成人国产永久免费视频| 夜夜精品视频| 亚洲精选91| 婷婷精品久久久久久久久久不卡| 日韩 欧美一区二区三区| 久久国产视频网| 美女视频黄久久| 国产精品不卡| 蜜桃tv一区二区三区| 亚洲一区二区三区四区五区午夜| 免费观看在线综合| 欧美日韩一区二区国产| 国产精品伦一区二区| 日本激情一区| 激情综合网五月| 蜜臀久久久久久久| 国产精品男女| 丝袜美腿诱惑一区二区三区| 在线亚洲激情| 国产探花一区| 日本久久成人网| 免费人成精品欧美精品| 国产欧美日韩精品一区二区三区| 精品国产一区二区三区av片| 精品成人免费一区二区在线播放| 亚洲精品一区二区妖精| 日韩高清中文字幕一区| 国产剧情在线观看一区| 欧美日韩国产观看视频| 欧美中文字幕| 嫩呦国产一区二区三区av| av一区在线| 亚洲欧洲免费| 成人亚洲一区| 日av在线不卡| 日韩综合在线| 在线免费观看亚洲| 福利一区和二区| 免费中文字幕日韩欧美| 久久精品女人| 国产一区91| 狠狠久久伊人中文字幕| 亚洲综合另类| 麻豆免费精品视频| 99成人在线视频| 国产精品视频一区二区三区| 蜜臀av免费一区二区三区| 国产欧美一区二区三区米奇| 欧美成人亚洲| 欧美极品中文字幕| 女同性一区二区三区人了人一| 国产亚洲一区| 婷婷综合在线| 国产+成+人+亚洲欧洲在线| 在线视频亚洲欧美中文| 国产不卡人人| 日本在线一区二区三区| 久久青草久久| 国产精品红桃| 久久亚洲色图| 久久免费黄色| 欧美成a人片免费观看久久五月天| 日韩视频一区| 日韩欧美国产精品综合嫩v| 日韩av影院| 久久国产成人| 99久久www免费| 日韩av免费大片| 国产伦精品一区二区三区视频| 狠狠爱成人网| 群体交乱之放荡娇妻一区二区| 国产日韩中文在线中文字幕 | 国产精品qvod| 人人精品人人爱| 欧美日韩亚洲在线观看| 精品国产欧美| 日韩高清电影免费| 国产精品美女| 久久精品国产www456c0m| 精品国产91| 你懂的国产精品| 日本视频一区二区| 蜜桃一区二区三区在线观看| 欧美一区二区性| 91中文字幕精品永久在线| 视频精品一区| 久久亚洲色图| 日韩视频免费| 欧美日韩高清| 999精品色在线播放| 日韩啪啪电影网| 国产成人精选| 加勒比视频一区| 久久中文字幕一区二区三区| 国产精品玖玖玖在线资源| 欧美日一区二区在线观看| 日韩一区精品| 色综合视频一区二区三区日韩 | 国产福利一区二区精品秒拍 | 亚洲精品视频一二三区|