当前课程知识点:Android应用开发基础 > 第六章 Android服务 > 6.2 访问系统服务 > 6.2 访问系统服务
本节我们介绍
如何访问Android的系统服务组件
在上一讲中
我们已经了解了系统服务的流程如下
1 Android系统在启动时
会启动SystemServer进程
2 SystemServer进程按照特定顺序
启动各个系统服务
3 访问系统进程的数据
需要访问SystemServer中的服务
系统服务SystemServer的访问流程
如图所示
1 SystemServer是一个独立进程
直接访问SystemServer
需要通过大量IPC技术实现
操作比较复杂
2 Android系统为了降低
系统服务的编程难度
研发了大量Manager组件
这些独立的管理组件
可以简化访问系统服务的难度
3 Manager组件负责Activity
与SystemServer中系统服务进行交互
4 通过Manager组件提供的方法
可以方便访问系统服务
当某个应用程序
希望向用户发出一些提示信息
而该应用程序又不在前台运行时
就可以借助通知来实现
通知的使用如图所示
发出一条通知后
手机最上方的状态栏中
会显示一个通知的图标
下拉状态栏后
可以看到通知的详细内容
NotificationManager
是Android中的一个系统服务组件
可将通知对象发送到系统ActionBar上
该组件的主要作用
是通知用户事件的发生
方法主要有如下三种
1 在状态栏中出现一个图标
2 设备LED灯闪烁
3 播放音乐或者是振动
Android提供NotificationManager组件
负责与system_server进程进行交互
获取系统通知服务管理
NotificationManager的代码如下
直接通过getSystemService
获取所有系统服务的接口
NOTIFICATION_SERVICE
代表获取通知服务
NotificationManager的常用方法如下
1 cancel (int id)
取消之前显示的一个通知
其中id是通知的id号
2 cancelAll ()
取消之前显示的所有通知
3 notify(int id,Notification notification)
将通知发送到状态栏上
其中id代表识别符
Notification代表通知的一个对象
下面我们看一条通知的实例
如图所示
需要使用NotificationCompat来构造通知
1 Buider构造方法
2 setContentTitle设置通知标题
3 使用setContentText设置通知内容
4 使用setWhen设置通知时间
5 使用setSmallIcon
用于设置通知的小图标
6 setLargeIcon用于设置大图标
完成后点击通知没有反应
这是什么原因呢
因为没有实现通知点击后的启动页面
下面我们使用PendingIntent
来实现这个功能
代码如图所示
1 新建跳转的Activity对象
2 新建延迟PendingIntent对象
3 通知中设置PendingIntent
4 NotificationActivity中
取消已阅读通知
使用manager.cancel(1)来完成
通知还有一些高级功能
代码如图所示
1 使用setSound设置声音
2 使用setVibrate设置震动
3 setLights设置LED
4 setDefaults设置默认效果
今天就是我们讲的通知的所有内容
-Android Studio4.1.2安装常用问题汇总2021.3.15
-1.1 Android概述
--1.1 Android Studio安装与配置-实践案例
-1.1 Android概述--作业
-1.2 Android程序
-1.2 Android程序--作业
-1.3 Android程序调试
-1.3 Android程序调试--作业
-2.1 Activity概述
-2.1 Activity概述--作业
-2.2 Activity应用
-第2章 Android视图--2.2 Activity应用
-3.1 Activity布局
-3.1 Activity布局--作业
-3.2 Android基础组件
-3.2 Android基础组件--作业
-3.3 Android中级组件
-3.3 Android中级组件--作业
-3.4 Android适配器
-3.4 Android适配器--作业
-4.1 Fragment碎片组件
-4.1 Fragment碎片组件--作业
-4.2 ViewPager翻页类组件
-4.2 ViewPager翻页类组件--作业
-讨论:fragment与activity的生命周期有哪些不同?
-5.1 Android广播概述
-5.1 Android广播概述--作业
-5.2 Android广播工作原理
-5.2 Android广播工作原理--作业
-5.3 自定义广播
-第5章 广播--5.3 自定义广播
-5.4 有序广播
--5.4有序广播
-第5章 广播--5.4 有序广播
-6.1 系统服务概述
-6.1 系统服务概述--作业
-6.2 访问系统服务
-6.2 访问系统服务--作业
-6.3 自定义服务
-第6章 Android服务--6.3 自定义服务
-6.4 多线程
--6.4 多线程
-第6章 Android服务--6.4 多线程
-7.1 Android运行权限
-7.1 Android运行权限--作业
-7.2 URL URI概述
-第7章 内容提供者ContentProvider--7.2 URL URI概述
-7.3 ContentProvider概述
-第7章 内容提供者ContentProvider--7.3 ContentProvider概述
-7.4 访问通讯录
-第7章 内容提供者ContentProvider--7.4 访问通讯录
-7.5 课后作业案例
-8.1 相机服务
--8.1 相机服务
-8.1 相机服务--作业
-8.2 音视频服务
-8.2 音视频服务--作业
-9.1 网络服务概述
-9.1 网络服务概述--作业
-9.2 网络框架
--9.2 网络框架
-9.2 网络框架--作业
-9.3 Json
--9.3 Json
-第9章 网络技术--9.3 Json
-9.4 Volley
-第9章 网络技术--9.4 Volley
-10.1 文件存储
--10.1.3 实践案例-SharedPreference文件读写
-10.1 文件存储--作业
-10.2 数据库存储
-10.2 数据库存储--作业
-第1章 实训简介以及开发环境配置
-第2章 在线音乐播放器整体设计以及服务端开发
-第3章 在线音乐播放器-客户端开发
-第4章 在线音乐播放器-完整版
-第5章 QQ聊天项目
-第6章 在线点餐系统