3
在android中,每個應用程序對其可以訪問的資源都有一定的權限。系統如何確定哪個應用發送請求並檢查它是否具有適當的權限?系統如何識別哪個應用正在發送請求?
例如: 應用程序調用從系統獲取GPS位置的getLocation() 系統如何知道哪個應用程序調用了該應用程序,以及它如何檢查應用程序權限?
在android中,每個應用程序對其可以訪問的資源都有一定的權限。系統如何確定哪個應用發送請求並檢查它是否具有適當的權限?系統如何識別哪個應用正在發送請求?
例如: 應用程序調用從系統獲取GPS位置的getLocation() 系統如何知道哪個應用程序調用了該應用程序,以及它如何檢查應用程序權限?
有一個Linux identity(又名userID)與每個應用程序相關聯。 Android在安裝時將此用戶標識分配給應用程序。該用戶ID在該特定設備上的應用生存期內保持不變。此外,每個程序包都在其自己的進程中運行,因此當Android應用程序知道執行調用的進程以及誰是擁有該進程的Linux用戶(即應用程序)的應用程序(例如getLocation()
)時會進行調用。
您還應該檢查PackageManager,這是一種針對這些類型功能的API(否則特定於OS)。