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