我是靠谱客的博主 清爽高山,最近开发中收集的这篇文章主要介绍郭霖老师androidpn教学视频笔记,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

学习郭霖老师的“见证android消息推送时刻”的学习笔记。  视频见慕课网,然后搜索“见证android消息推送时刻”讲的真心好!


ServiceManager

属性:

方法:
startService():启动服务NotificationService
stopService():停止服务NotificationService
setAlias(String alias):设置别名
setTags(final List<String> tagsList):设置标签,即可根据标签进行推送
setNotificationIcon(int iconId):设置通知图标
viewNotificationSettings(Context context):查看通知设置,包括开机启动,震动,铃声等
流程:
调用startService()方法启动了NotificationService服务。

NotificationService继承自service
属性:
XmppManager
ExecutorService:一个按顺序执行的线程池
方法:
connect():调用xmppManager的connect()方法。
disconnect():调用xmppManager的disconnect()方法。
start():注册通知到来的广播接收器registerNotificationReceiver(),注册连接的广播接收器registerConnectivityReceiver()。调用xmppManager的connect()方法。
stop():解绑通知到来的广播接收器unregisterNotificationReceiver(),解绑连接的广播接收器unregisterConnectivityReceiver()。调用xmppManager的disconnect()方法。调用ExecutorService的销毁方法。
流程:
在oncreate()方法中调用start方法,即进行注册广播接收以及进行与服务端的连接。


XmppManager
属性:
XMPPConnection:asmack里面定义的一个类
ConnectionListener:asmack里面定义的一个类
PacketListener:asmack里面定义的一个类
方法:
流程:
1. 调用XMPPConnection的connect方法,会根据情况提交多个task:
a)未注册情况下:提交连接task,然后提交注册task,再提交登陆task。登陆成功之后,保持心跳连接。

b)已注册情况下:提交连接task,然后提交登陆task,登陆成功之后,保持心跳连接

在登陆成功之后,会调用

// packet filter
PacketFilter packetFilter = new PacketTypeFilter(
NotificationIQ.class);
// packet listener
PacketListener packetListener = xmppManager
.getNotificationPacketListener();
connection.addPacketListener(packetListener, packetFilter);

这个NotificationPacketListener就是接受消息的入口。

最后

以上就是清爽高山为你收集整理的郭霖老师androidpn教学视频笔记的全部内容,希望文章能够帮你解决郭霖老师androidpn教学视频笔记所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(53)

评论列表共有 0 条评论

立即
投稿
返回
顶部