概述
学习郭霖老师的“见证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教学视频笔记所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复