ActivityManager : 与系统中正在运行的所有活动进行交互:
获取Manager的方法实在Context环境中调用一下方法:
ActivityManager mManager = getSystemService(Context.ACTIVITY_SERVICE) ;
ActivityManager的常用方法:
getRunningAppProcesses() 获取系统中正在运行的所有系统进程信息
getRunningServices() 获取系统中正在运行的所有服务信息
getMemoryInfo() 获取内存信息
getProcessMemoryInfo() 获取某个或几个进程占用的内存信息
getDeviceConfigurationInfo():获取设备的配置属性
PackageManager:检索当前安装在设备上的应用程序包相关的各种信息
获取PackageManager对象的方法是在拥有Context环境下使用下面的方法
PackageManager mManager = getPackageManager() ;
PackageManager 的常用方法:
gerInstalledApplication() 返回在设备上安装的所有应用程序包的列表
getInstalledPackages():返回在设备上安装的所有包的列表
getActivityInfo():获取对应组件名的Activity的信息
注意:PackageManager 其实是一个抽象类
DownLandManager:下载管理器是一个系统服务,处理长时间运行的HTTP下载
基本的使用方法:
//获取系统服务的DownloadManager
downloadManager= (DownloadManager) getSystemService(Context.DOWNLOAD_SERVICE);
//创建一个DownloadManager的请求
DownloadManager.Request request=new DownloadManager.Request(Uri.parse("http://i.imgur.com/iXgyWbG.png"));
//设置请求允许的联网方式:移动网络与wifi都可以
request.setAllowedNetworkTypes(DownloadManager.Request.NETWORK_MOBILE| DownloadManager.Request.NETWORK_WIFI);
//禁止发出通知,既后台下载
//request.setShowRunningNotification(false);该方法被setNotificationVisibility取代了
request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_HIDDEN);
//显示下载界面
request.setVisibleInDownloadsUi(true);
//设置下载后文件存放的位置,存放在/sdcard/Android/data/<包名>/files/Pictures目录下面
request.setDestinationInExternalFilesDir(this, Environment.DIRECTORY_PICTURES, "iXgyWbG.png");
//将下载请求放入队列
downloadManager.enqueue(request);
ConnectivityManager:关于网络连接状态的查询的类
ConnectivityManager connectivity = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
ConnectivityManager的主要作用是:
监视网络连接(Wi-Fi、GPRS、UMTS、等)
当网络连通性的变化发送广播意图
当连接的网络丢失,会自动连接别的网络
提供一个允许应用程序查询可用网络的粗粒度或细粒度的应用程序接口
提供一个允许应用程序请求和选择网络的应用程序的接口
WindowManager:应用程序使用的界面和窗口管理器
WindowManager是一个接口,基本使用方法如下:
WindowManager mManager = getWindowManager() ;
//添加视图CALL_STATE_IDLE 无任何状态时
mManager.addView(view) ;
//删除视图
mManager.removeView(view) ;
TelephonyManager:提供访问设备上的电话服务的信息
获取TelephonyManager对象的方法是在拥有context的环境下使用下面的方法。
TelephonyManager telephonyManager= (TelephonyManager) getSystemService(TELEPHONY_SERVICE);
TelephonyManager常用方法:
getCallState():返回电话状态。
CALL_STATE_IDLE 无任何状态时
CALL_STATE_OFFHOOK 接起电话时
CALL_STATE_RINGING 电话进来时
getCellLocation():获取当前电话的位置
getDataActivity():获取数据活动状态
DATA_ACTIVITY_IN 活动,正在接受数据
DATA_ACTIVITY_OUT 活动,正在发送数据
DATA_ACTIVITY_INOUT 活动,正在接受和发送数据
DATA_ACTIVITY_NONE 活动,但无数据发送和接受
getDeviceId():返回设备id(当前移动终端的唯一标识)
getLine1Number():返回手机号码
LocationManager:提供了系统位置服务的访问
获取LocationManager对象的方法是在拥有context的环境下使用下面的方法:
LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
getAllProviders():获取所有能提供位置服务的Provider
getLastKnownLocation():获取上次开启位置服务记录的位置
requestLocationUpdates():注册位置更新的监听者
AlarmManager:提供系统报警服务的访问
获取AlarmManager对象的方法是在拥有context的环境下使用下面的方法
AlarmManager alarmManager= (AlarmManager) getSystemService(ALARM_SERVICE);
AlarmManager常用方法:
setTime(long millis):设置系统时钟时间
setTimeZone(String timeZone):设置系统时钟时区
setAlarmClock(AlarmClockInfo info, PendingIntent operation):设置一个警报来代表闹钟
set(int type, long triggerAtMillis, PendingIntent operation):设置一次性闹钟,第一个参数表示闹钟类型,第二个参数表示闹钟执行时间,第三个参数表示闹钟响应动作
setRepeating(int type, long triggerAtMillis,long intervalMillis, PendingIntent operation):设置重复闹钟,第一个参数表示闹钟类型,第二个参数表示闹钟首次执行时间,第三个参数表示闹钟两次执行的间隔时间,第三个参数表示闹钟响应动作
setInexactRepeating(int type, long triggerAtMillis,long intervalMillis, PendingIntent operation):设置重复闹钟,与setRepeating方法类似,区别是setRepeating闹钟两次执行的间隔时间固定,而setInexactRepeating闹钟两次执行的间隔时间不固定
上述方法中的type参数有五种值:
AlarmManager.ELAPSED_REALTIME:表示闹钟在手机睡眠状态下不可用,该状态下闹钟使用相对时间(相对于系统启动开始)
AlarmManager.ELAPSED_REALTIME_WAKEUP:表示闹钟在睡眠状态下会唤醒系统并执行提示功能,该状态下闹钟也使用相对时间
AlarmManager.RTC:表示闹钟在睡眠状态下不可用,该状态下闹钟使用绝对时间,即当前系统时间
AlarmManager.RTC_WAKEUP:表示闹钟在睡眠状态下会唤醒系统并执行提示功能,该状态下闹钟使用绝对时间
AlarmManager.POWER_OFF_WAKEUP:表示闹钟在手机关机状态下也能正常进行提示功能,所以是5个状态中用的最多的状态之一,该状态下闹钟也是用绝对时间
转载自:http://toutiao.com/a6283742166200500482/