Android-获取服务getContext().getSystemService()

本文大部分内容转自一篇新浪博客

android的后台运行在很多service,它们在系统启动时被SystemServer开启,支持系统的正常工作,比如MountService监听是否有SD卡安装及移除,ClipboardService提供剪切板功能,PackageManagerService提供软件包的安装移除及查看等等,应用程序可以通过系统提供的Manager接口来访问这些Service提供的数据。


getSystemService是Android很重要的一个API,它是Activity的一个方法,根据传入的NAME来取得对应的Object,然后转换成相应的服务对象。以下介绍系统相应的服务。


Android-获取服务getContext().getSystemService()_第1张图片

例如:获取屏幕像素,

private int getScreenWidth() {
		// TODO Auto-generated method stub
		WindowManager wm = (WindowManager)getContext().getSystemService(Context.WINDOW_SERVICE);//根据系统的WINDOW_SERVICE窗口服务,获取管理打开的窗口程序
		DisplayMetrics outMetrics = new DisplayMetrics();//Andorid.util 包下的DisplayMetrics 类提供了一种关于显示的通用信息,如显示大小,分辨率和字体
		wm.getDefaultDisplay().getMetrics(outMetrics);//获取当前打开的窗口的Display信息值,并把这些信息值存放于outMetrics对象中
		return outMetrics.widthPixels;//返回屏幕的宽度像素值
	}


你可能感兴趣的:(android学习分享)