안드로이드의 Process
클래스는 (다른 사람의 사이에서) 다음과 같은 정의를 포함 true를 돌려 의미 :
를
/**
* Defines the root UID.
*/
public static final int ROOT_UID = 0;
/**
* Defines the UID/GID under which system code runs.
*/
public static final int SYSTEM_UID = 1000;
/**
* Defines the UID/GID under which the telephony code runs.
*/
public static final int PHONE_UID = 1001;
이 프레임 워크의 값은 root
, system
및 radio
사용자 uid
의 커널 해당합니다. Android에서는 많은 시스템 프로세스가 uid
세 개 중 하나로 실행됩니다.
NotificationManagerService는 호출 프로세스가 이러한 사용자 중 하나가 소유 그렇다면, (패키지 이름이 android.*
로 시작되는 경우 그것은 또한 사실 끝) 부울 isSystemNotification
설정되어 있는지 확인하는 isUidSystem()
를 사용합니다. isSystemUid
바로 위의 값으로 호출 uid
비교하지만, 제 정상적으로 100,000 정의 UserHandle.PER_USER_RANGE
와 커널 값 및 개조를 취하는데, 이는 UserHandle.getAppId()
통해 실행하지 않는
가
주 (즉, uid % PER_USER_RANGE
). 결국 커널 uid
의 마지막 다섯 자리 숫자가됩니다. 첫 번째 두 개는 다중 사용자 장치의 userId
에 해당합니다.
는 그래서
uid
및
appId
루트 사용자로 실행중인 프로세스 및 응용 프로그램에 대한 0 될 것이며,
isSystemUid()
이 경우
true
를 반환합니다. uid가
system
또는
radio
사용자로 실행중인 호출자로부터 왔을 때도 true를 반환합니다.