1. 程式人生 > >【定製Android系統】Android O 預設允許應用彈窗申請許可權

【定製Android系統】Android O 預設允許應用彈窗申請許可權

需求:Android 應用在 6.0 以後?就需要動態申請許可權了,那些寫在 AndroidManifest.xml 中的許可權在應用執行時會彈窗申請。如果應用跑在不方便與終端使用者做互動的場景,例如攝像頭等,或者單純地不希望應用再彈窗申請許可權,而是預設授予應用全部的許可權。

而當應用申請的許可權在不斷變化時,時而新增許可權時,或者不知道應用想申請什麼許可權時,在上述位置把全部的許可權預先授予應用,可能也是一種方法。但是目前我尚不清楚,上述對應用進行預授權的方法,是不是隻在第一次開機時(或者恢復出廠設定後第一次開機時)、或者只在開機時會被呼叫,不知道在 PACKAGE_REPLACED、PACKAGE_ADDED 的時候,會不會被呼叫,也很難做到對一個包名改變了的應用進行預授權。

那麼,下面將要說到的這種方法,就會比較健壯地對應用申請的許可權提供授權操作。因為,它是在應用開啟、發現許可權尚未被授予、彈窗申請許可權時,直接給與了確認操作。所以,這種方案會更普適一些,當然,也可以在該位置對包名加以分析,然後再決定是否對應用預設允許他們的許可權;或者,可以對系統版本等資訊進行判斷,然後決定是否預設允許。

方案如下:
在 ap/packages/apps/PackageInstaller/src/com/android/packageinstaller/permission/ui/GrantPermissionsActivity.java 中;
在 onCreate 中,原始碼為

        DevicePolicyManager devicePolicyManager =
getSystemService(DevicePolicyManager.class); final int permissionPolicy = devicePolicyManager.getPermissionPolicy(null);

改為:

        DevicePolicyManager devicePolicyManager = getSystemService(DevicePolicyManager.class);
        // modify by Enoch : auto grant app permission 
        final int
permissionPolicy = DevicePolicyManager.PERMISSION_POLICY_AUTO_GRANT;

相關推薦

定製Android系統Android O 預設允許應用申請許可權

需求:Android 應用在 6.0 以後?就需要動態申請許可權了,那些寫在 AndroidManifest.xml 中的許可權在應用執行時會彈窗申請。如果應用跑在不方便與終端使用者做互動的場景,例如攝像頭等,或者單純地不希望應用再彈窗申請許可權,而是預設授予應

定製Android系統Android 7.1 預設的 USB 配置模式,預設的 usb debug 配置

需求:在 user 版中,插入 usb 連線電腦時,預設只有 mtp (傳檔案)功能,關閉 adb 功能。在 eng 版中,插入 usb 連線電腦時,預設開啟 adb 功能,且兼具 mtp (傳檔案)功能。 提示: Android 4.4 之後貌似修改了整

Android系統Android檔案目錄結構

system/app:存放系統軟體 system/data:存放系統軟體的資料 data/app:存放使用者安裝的軟體 data/data:存放使用者軟體的資料 storage/emulated/0:儲存卡 storage/sdcard:虛擬路徑,快捷方式,實際

拍照截圖Android 系統拍照和截圖

tjstudy:寫在前面: android 6.0 許可權未處理,這裡只是對拍照和截圖的過程進行了知識的清理總結。 android6.0 許可權處理,可跳轉到: 大力哥的,http://download.csdn.net/detail/qq13772269

Android安全Android中的“SpyLocker”惡意軟件 - 您需要知道的內容

編譯參數 agen 詳細 通過 來源 永遠 鎖屏 mob shtml SpyLocker惡意軟件是對Android安全應用的最新威脅,幾維安全詳細介紹了您需要了解的信息,以幫助您保護設備。此外,如果您的設備受到感染,幾維安全最新的應用程序將幫助您掃描,檢測和刪除SpyLoc

Android-3Android中的任務棧(Task)

集合 情況下 清除 bsp 生命周期方法 任務棧 保存 sin 也會 一、Android任務棧 概述:Android中的任務棧其實就是Activity的集合,在Android中退出程序的時候必須把任務棧中的所有Activity清除出棧,此時才能安全的完全的退出程序, 任務棧

實例演示Android安全須知

Android;移動安全;四維創智軟件免費像是一種潮流,收費軟件生存空間變小,只能變向獲利。 於是..... app加入信息搜集,用戶行為收集,植入廣告,留後門。 為了利益,修改帶資金的app,竊取用戶資金。 app加入挖礦功能,挖黑金。 利用第三方sdk接口收集用戶信息。 app中插入廣告鏈接。 app中植

音視頻Android CallLib 開發指南

SDK 音視頻 開通方式音視頻服務開通,請參考音視頻開通方式說明。使用說明由於底層引擎技術不同,2.6.0 之後的音視頻 SDK 與 2.6.0 之前的 SDK 中的實時音視頻不能互通。音視頻 SDK 為商用收費功能,之前的 SDK 中的實時音視頻為免費測試功能,如果您還想使用之前的實時音視頻,可以使

輸出文件 Android 加密 模組原始碼分析

                                   Android6.0 加密模組解析

輸出文件 Android 儲存模組 解析

  【儲存模組培訓文件,很認真寫的,現在轉移到部落格上】                                

輸出文件 Android MountService 原始碼分析

Android 儲存裝置管理框架 在android之VOLD程序啟動原始碼分析一文中介紹了儲存裝置的管控中心Vold程序,Vold屬於native後臺程序,通過netlink方式接收kernel的uevent訊息,並通過socket方式將uevent訊息傳送給MountService,同時實時接

輸出文件 Android 6 USB 模組解析

          USB模組解析 簡介 主要完成USB 功能的切換和狀態的更新。通過接受kernel傳送過來的event訊息來確定USB狀態的切換並向外界傳送廣播訊息。  

達內課程Android中的Notification

什麼是通知 通知是Android中Service與使用者互動的一種方式(主要是Service) 一個傳送通知的栗子: private static final int NOTIFICATION_ID = 1001; private void sendNotificati

銀聯支付Android studio版本的銀聯支付Demo

首先看一下效果圖: 注意:本Demo使用的銀聯SDK版本:3.1.0 更新時間:2017-08-02 概述         銀聯手機支付控制元件(以下簡稱支付控制元件),主要為合作商戶的手機客戶端提供安全、便捷的支付服務。使用

達內課程Android中的GC垃圾回收機制與記憶體洩漏

當main()方法執行完,main()方法中的區域性變數都會彈棧,從棧當中銷燬 當左側棧中的e2和e銷燬後,右側中的兩個物件就是垃圾 java底層有一種GC垃圾回收機制,在java程式執行時,GC執行緒會不斷找尋垃圾,是的話會清除掉 當我們點選模擬機的返回鍵時,發生了什麼 當G

慕課實戰Android互動直播APP開發

Android互動直播APP開發 鬥魚,映客,花椒…這些在你生活中不可缺的直播APP原理是什麼?是如何實現直播,聊天,送禮物的?本課程中帶領你全面瞭解直播技術,掌握直播APP前後端核心功能的實現,讓直播技術不再神祕! 第1章 直播必備知識學習 本章將首先對

android筆記android開發環境搭建--android studio安裝與配置

一、下載安裝android studio軟體 目前最新的版本是3.1.2版本,下載即可. 下載完成之後開始安裝,安裝過程不難如下 選擇軟體的安裝路徑 安裝完成後啟動android studio 這裡預設選擇”do not i

linshijun33的專欄Android之路_java_Android面試題

專欄達人 授予成功建立個人部落格專欄

達內課程Android中的動畫(下)

幀動畫 在drawable下新建一個fragme.xml檔案 <?xml version="1.0" encoding="utf-8"?> <animation-list xmlns:android="http://schemas.android.co

達內課程Android中的AppWidget

1、佈局activity_main <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk