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

传入的Name

返回的对象

说明

WINDOW_SERVICE

WindowManager

管理打开的窗口程序

LAYOUT_INFLATER_SERVICE

LayoutInflater

取得xml里定义view

ACTIVITY_SERVICE

ActivityManager

管理应用程序的系统状态

POWER_SERVICE

PowerManger

电源服务

ALARM_SERVICE

AlarmManager

闹钟服务

NOTIFICATION_SERVICE

NotificationManager

状态栏服务

KEYGUARD_SERVICE

KeyguardManager

键盘锁服务

LOCATION_SERVICE

LocationManager

位置的服务,如GPS

SEARCH_SERVICE

SearchManager

搜索服务

VEBRATOR_SERVICE

Vebrator

手机震动服务

CONNECTIVITY_SERVICE

Connectivity

网络连接服务

WIFI_SERVICE

WifiManager

Wi-Fi服务

TELEPHONY_SERVICE

TeleponyManager

电话服务

示例1:图书《Android精彩编程200例》,实例006状态栏的服务例子:

获取通知管理器并创建通知对象。代码如下:

01  //获取通知管理器,用于发送通知
02 Notif icationManager notif icationManager =
03 (Notif icationManager) getSystemService(NOTIFICATION_SERVICE);
04 Notif icationCompat.Builder notif ication = new
05 Notif icationCompat.Builder(MainActivity.this); //创建一个Notif ication对象

设置通知的相关参数与通知的发送时间。代码如下:

01  notification.setAutoCancel(true);
02 //设置显示在状态栏的通知提示信息
03 notification.setTicker("Android课程第一季上线啦!");
04 //设置通知的小图标
05 notification.setSmallIcon(R.mipmap.ic_launcher);
06 //设置下拉列表中的大图标
07notification.setLargeIcon(BitmapFactory.decodeResource(getResources(),R.mipmap.ic_launcher));
08 //设置通知内容的标题
09 notification.setContentTitle("Android入门第一季!");
10 //设置通知内容
11 notification.setContentText("点击查看详情!");
12 //设置发送时间
13 notification.setWhen(System.currentTimeMillis());

设置从通知栏跳转至通知的详细内容界面,并进行通知的发送。代码如下:

01  //创建一个启动其他Activity的Intent
02 Intent intent = new Intent(MainActivity.this,
03 MessageActivity.class);
04 PendingIntent pi = PendingIntent.getActivity(
05 MainActivity.this, 0, intent, 0);
06 //设置通知栏单击跳转
07 notification.setContentIntent(pi);
08 //发送通知
09 notificationManager.notify(NOTIFYID, notification.build());

示例2:常用功能,获取屏幕高度宽度,代码如下:

01    //获取屏幕管理器
02 WindowManagermWindowManager = (WindowManager) getSystemService(Context.WINDOW_SERVICE);
03 //获取宽度
04 width = mWindowManager.getDefaultDisplay().getWidth();
05 //获取高度
06 height = mWindowManager.getDefaultDisplay().getHeight();

本文摘自明日科技出版的《Android 精彩编程200例》,转载请注明出处!!!

通过getSystemServices获取手机管理大全的更多相关文章

  1. android获取手机信息大全

    IMEI号,IESI号,手机型号: private void getInfo() { TelephonyManager mTm = (TelephonyManager) getSystemServic ...

  2. [转] android获取手机信息大全

    原文链接:http://blog.csdn.net/hytfly/article/details/8552483 IMEI号,IESI号,手机型号: private void getInfo() { ...

  3. Android-AsyncTask异步任务(获取手机联系人)

    本篇随笔将讲解一下Android的多线程的知识,以及如何通过AsyncTask机制来实现线程之间的通信. 一.Android当中的多线程 在Android当中,当一个应用程序的组件启动的时候,并且没有 ...

  4. Android 获取手机总内存和可用内存等信息

    在android开发中,有时候我们想获取手机的一些硬件信息,比如android手机的总内存和可用内存大小.这个该如何实现呢? 通过读取文件"/proc/meminfo"的信息能够获 ...

  5. Android编程获取手机的IMEI

    手机在生产时,每部手机均有一个唯一的标识(ID),国际上采用国际移动设备身份码(IMEI, International Mobile Equipment Identity).IMEI是由15位数字组成 ...

  6. Android简易实战教程--第十二话《代码获取手机总运行内存的大小》

    手机RAM存储,类似于电脑的内存.这一篇,对通过代码获取手机总内存大小做详细介绍. 首先,定义一个engine类,这个类功能就是获取进程信息,包括运行的程序个数,系统总内存,系统剩余总内存.本篇先完成 ...

  7. Android简易实战教程--第十一话《获取手机所有应用信息Engine类详解》

    如果想要获取系统手机应用的详细信息,那么下边代码可以直接作为模板使用.笔者对每一行代码都做了注解,供您参考.直接上代码: package com.example.itydl.engines; impo ...

  8. Android开发之获取手机SIM卡信息

    TelephonyManager是一个管理手机通话状态.电话网络信息的服务类.该类提供了大量的getXxx(),方法获取电话网络的相关信息. TelephonyManager类概述: 可用于訪问有关设 ...

  9. Android之——获取手机安装的应用程序

    转载请注明出处:http://blog.csdn.net/l1028386804/article/details/47114331 前几篇有关Android的博文中.向大家介绍了几个项目中经常使用的有 ...

随机推荐

  1. (C/C++学习)11.随机数组的快速查找

    说明:利用随机函数生成一个随机数组,然后对数组进行排列,再利用二分查找快速查找一个数. 一.生成随机数组 time_t ts; //等价于long ts; unsigned int num = tim ...

  2. CentOS 7.2安装配置Vsftp服务器

    一.配置防火墙,开启FTP服务器需要的端口 CentOS 7.2默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop fi ...

  3. Spider-Python实战之通过Python爬虫爬取图片制作Win7跑车主题

    1. 前期准备 1.1 开发工具 Python 3.6 Pycharm Pro 2017.3.2 Text文本 1.2 Python库 requests re urllib 如果没有这些Python库 ...

  4. JavaScript单元测试工具-Jest

    标注: 首先这并不是一篇完整的关于Jest的教程,只是个人在接触jest学习的一点随手笔记,大部分内容都是对官方文档的一些翻译. ----------------------------------- ...

  5. everyday two problems / 3.1

    T1.string 题意: 给定由小写字母组成的长度为 n 的字符串 将其所有 n * (n + 1) / 2 个子串按字典序排序 输出第 k 个子串 k > (n * (n + 1) / 2) ...

  6. UE 高亮 一个或多个关键字的方法

    #######2014-11-20,11:13:06######### 一.高亮一个关键字 方法1: 选中该关键字, Ctrl + .   即可: 方法2: 选中该关键字, Shift  + 双击左键 ...

  7. nyoj_114_某种序列_201403161700

    某种序列 时间限制:3000 ms  |  内存限制:65535 KB 难度:4   描述 数列A满足An = An-1 + An-2 + An-3, n >= 3 编写程序,给定A0, A1 ...

  8. hdu_1014_Uniform Generator_201310141958

    Uniform Generator Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others ...

  9. [转]十五天精通WCF——第十天 学会用SvcConfigEditor来简化配置

    我们在玩wcf项目的时候,都是自己手工编写system.serviceModel下面的配置,虽然在webconfig中做wcf的服务配置的时候,vs提供大多 数的代码提示,但对于不太熟悉服务配置的小鸟 ...

  10. open cursor too much error

    今天遇到一个错误ORA-01000: maximum open cursors exceeded. 客户想增加 DB 的open_cursor这个参数. 但是我看了下,她的程序要打开几千个cursor ...