2016-09-26 77 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)一个附加的抽象层包裹。

相关问题