getSystemService
getSystemService是在Context这个类下的方法,进入Api查询界面搜索Context,然后找到 向下查找就找到了getSystemService这个方法
以下是getSystemService的两个方法:
public final T getSystemService (Class<T> serviceClass)
public abstract Object getSystemService (String name)
一般我们用的是第二个方法,写法有两种一个是用的Context里定义的字符串常量,当然意思是一样的,由于返回的对象是Object所以要对放回的值进行转型。
举个获取wifi管理器对象的例子:
例子一:
WifiManager wifiManager = (WifiManager)getSystemService(Context.WIFI_SERVICE);
WifiManager wifiManager = (WifiManager)getSystemService("wifi");
例子二:
WindowManager windowManager = (WindowManager) getSystemService(Context.WINDOW_SERVICE);
WindowManager windowManager = (WindowManager) getSystemService("window");
常用的服务及对应的常量
查询API上归纳了所有可获取的类如下:
常用及使用方式:
1.WindowManager:窗口管理
使用:最多的是用来获取手机屏幕的大小
WindowManager windowManager = (WindowManager) getSystemService(Context.WINDOW_SERVICE);
int h = windowManager.getDefaultDisplay().getHeight();
int w = windowManager.getDefaultDisplay().getWidth();
<meta charset="utf-8">
-
LayoutInflater :用来获取布局文件的view
-
ActivityManager :获取系统内存信息以及进程信息
-
PowerManager:电源管理
-
AlarmManager:主要闹钟
-
NotificationManager:通知栏
-
KeyguardManager:屏幕保护
-
LocationManager:定位服务
-
SearchManager:利用此服务可以实现对系统中的应用、联系人、SMS等进行搜索
-
Vibrator:手机震动管理
-
ConnectivityManager:网络连接,这个用的比较多,每个app需要对网络状态进行判断
-
WifiManager:对wifi的信息进行获取,判断处理
-
AudioManager:手机音频文件的管理操作
-
MediaRouter:好像比较复杂的样子
-
TelephonyManager:用于管理手机通话状态,获取电话信息(设备信息、sim卡信息以及网络信息),
-
SubscriptionManager:SubscriptionManager
-
InputMethodManager:软键盘的输入控制
-
UiModeManager:设置夜间模式和行车模式
-
DownloadManager:下载管理
-
JobScheduler:让系统批处理一些不重要的APP 请求
-
NetworkStatsManager:Provides access to network usage history and statistics API说明:提供网络使用的历史记录和统计
这个方法都是query的查询方法,说明都是提供写网络使用的详细和统计的信息
-