2014-03-05 1 views
3

안드로이드에서 모든 앱은 액세스 할 수있는 리소스에 대해 특정 권한을 가지고 있습니다. 시스템은 어떤 앱이 요청을 보내고 적절한 권한을 가지고 있는지 확인하는 방법을 어떻게 결정합니까?시스템은 요청을 전송하는 앱을 어떻게 인식합니까?

예 : 앱은 시스템에서 GPS 위치를 가져 오는 getLocation()을 호출합니다. 시스템에서 어떤 앱이 이것을 호출했는지, 앱 권한을 어떻게 확인하나요?

답변

1

각 앱과 연결된 Linux identity (별칭 userID)이 있습니다. Android는 설치시이 사용자 ID를 앱에 할당합니다. 이 사용자 ID는 특정 기기에서 앱을 사용하는 동안 동일하게 유지됩니다. 또한 각 패키지는 자체 프로세스로 실행되므로 앱에서 호출 (예 : getLocation())을 만들면 Android는 호출을 수행 한 프로세스와 프로세스를 소유 한 Linux 사용자 (즉, 앱)를 알게됩니다.

또한 이러한 종류의 기능 (OS에만 해당)에 대한 API 인 PackageManager을 확인해야합니다.