2016-09-26 63 views
0

就拿到文字轉語音類,它的構造之間的差值需要一個參數,其類型的語境。我的問題是,什麼是它不需要任何其他的參數超過字符串常量和類型鑄造和getApplicationContext,你會傳遞到一類,如文字轉語音getSystemService之間的區別?理解getSystemService()和getApplicationContext()

+0

它們返回兩種不同類型的對象。 –

+0

那麼getSystemService是否會返回一個抽象級別,以便您可以與像AudioManager這樣的服務進行交互? – Joseph

回答

1

總之,

  • getApplicationContext()返回的背景下當前應用在專用過程運行,而
  • getSystemService(String name)「按名稱手柄返回到系統級的服務「,其中系統級服務運行在單獨進程」句柄「允許調用通過進程間通信的服務方法(IPC)。

我希望你在談論的差異是指Android安全模型,其中,據我所知,是由servicemanager分爲2類WRT呼叫管理的系統級服務:

  1. 系統 - 可以訪問/使用的應用程序/清單文件(例如LAYOUT_INFLATER_SERVICEPackageManager和其他)沒有特定權限的高級服務;
  2. 系統級服務明確要求應用程序(或其宿主Linux進程)的特定權限(s)才能成功訪問。權限是由設備的物理用戶授予的。

由於沒有特定權限需要訪問第一類的系統級的服務,與它們的相互作用可以與需要Context作爲參數來訪問服務(例如TextToSpeech API)一個附加的抽象層包裹。

相關問題