android Uid 與 Pid 的區別與用法

Pid是進程ID,Uid是用戶ID,只是Android和計算機不一樣,計算機每個用戶都具有一個Uid,哪個用戶start的程序,這個程序的Uid就是那個用戶,而Android中每個程序都有一個Uid,默認情況下,Android會給每個程序分配一個普通級別互不相同的 Uid,如果用互相調用,只能是Uid相同才行,這就使得共享數據具有了一定安全性,每個軟件之間是不能隨意獲得數據的。而同一個application 只有一個Uid,所以application下的Activity之間不存在訪問權限的問題。

Android系統中修改了Linux的UID的含義:用來唯一確定某個用戶的身份。由於Android是單用戶系統,不需要支持多用戶登陸。Android的UID的含義:每個APP對應一個UID——用UID對應用程序進行管理。
代碼:
ActivityManager am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
    ApplicationInfo appinfo = getApplicationInfo();
    List<RunningAppProcessInfo> run = am.getRunningAppProcesses();
    for (RunningAppProcessInfo runningProcess : run) {
        if ((runningProcess.processName != null) && runningProcess.processName.equals(appinfo.processName)) {
            uid = String.valueOf(runningProcess.uid);
            break;
        }
    }
    }

2. PID即進程ID。

 查看: ps|grep XXX

3 、 每一個不同的程序都能有一個UId,但是一個應用裏面可以有多個PId

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章