91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

guest mode 無法record audio

發布時間:2020-07-21 04:29:16 來源:網絡 閱讀:1085 作者:lindt 欄目:移動開發

在owner切換成guest用戶時,發現無法獲取到OP_RECORD_AUDIO = 27權限


在創建audiosource時,傳入的包名

 new AudioSource(...

            String16("media")/* mOpPackageName */,

media UID 1013 屬于系統進程,得到userhandle 0

而在owner 切換到 guest 用戶時,audioservice 會將userhandle 0 disallow record audio 

 UserManagerService.getInstance().setSystemControlledUserRestriction(

                        UserManager.DISALLOW_RECORD_AUDIO, true, userId);//(userId = 0)


導致guest用戶無法獲取到record audio 權限


根據uid獲取userhandle 邏輯

core/java/android/os/UserHandle.java

public static @UserIdInt int getUserId(int uid) {

        if (MU_ENABLED) {

            return uid / PER_USER_RANGE;

        } else {

            return UserHandle.USER_SYSTEM;

        }

    }

M 上沒有切換問題,是因為
miracast 與 audio 運行在同一個進程中,在serviceutility.cpp中

if (getpid_cached == IPCThreadState::self()->getCallingPid()) return true;
會直接返回

而N 上面因為media harden原因,miracast與audio運行在不同進程中,該處無法直接返回,繼續進行ops權限檢查

ServiceUtility中放開對aid_media限制,無法通過CTS驗證



附錄 android 多用戶
http://blog.csdn.net/zhanglianyu00/article/details/50253187

3.Android多用戶 
Android4.2開始支持多用戶。Linux的uid/gid多用戶體系已經被用在App管理上了,所以android重新開發了一套多用戶體系,在UserManagerService中管理,PackageManagerService和ActivityManagerService中也有相關邏輯。Android的多用戶可以做到不同用戶的應用的物理文件級(數據)的區分,以實現不同用戶有不同的壁紙、密碼,以及不同的應用等。本文不展開多用戶的機制,只集中于uid。 
先看一下在多用戶下,應用的uid怎么變化。 
在一個有兩個用戶(用戶id分別為0和10)的安卓設備上,在用戶10下安裝一個應用,此時,在0下是看不到這個應用的。 

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

吕梁市| 浦北县| 方正县| 盈江县| 肃南| 彩票| 时尚| 西充县| 泰宁县| 冀州市| 灌南县| 宜都市| 阿克苏市| 苍南县| 贺州市| 蒲江县| 清远市| 昌图县| 宜兴市| 姚安县| 曲靖市| 景谷| 榆中县| 镇平县| 静乐县| 和龙市| 通化市| 淄博市| 桦南县| 鹿泉市| 易门县| 宿松县| 澎湖县| 古丈县| 故城县| 兴国县| 扶余县| 延长县| 井冈山市| 定远县| 阿坝县|