背景
有了前两篇文章的基础,这篇文章就主要是说明一下如何获取系统 Services,并调用一些系统提供的方法。因为这些方法都需要一个 context 对象,所以我们要知道怎么获取这个 context 对象。
案例
此处以设置系统音量和获取系统音量为例:
1、androidActivity()
方法会返回应用主 Activity 的句柄,即我们需要的 context。
2、由于 Android 的 Services 都是定义在 Context 包下,且都是静态定义的名字,像下面这样:
因此如果要调用 getSystemService
方法,首先要获取到它的参数,即这个 audio 字符串,就是通过 getStaticObjectField
方法获取的,这个方法的目的是获取全局静态变量,获取到全局变量后,再调用 getSystemService
方法