美文网首页知识扩展Android学习Android知识
Android-IM使用极光即时通讯发送、接收好友请求

Android-IM使用极光即时通讯发送、接收好友请求

作者: 八怪不姓丑 | 来源:发表于2017-07-27 16:10 被阅读552次

首先需要知道整个流程,包括发送方,和接收方

发送请求比较简单
如果集成了JMessage可以直接使用下面的类

sendInvitationRequest方法包含三个参数,分别是目标id,备注,和返回结果。

ContactManager.sendInvitationRequest(userName,content, new BasicCallback() {
                        @Override
                        public void gotResult(int i, String s) {
                            if (i==0){
                                showToast(AddFriendMsgActivity.this, "发送成功");
                            }else {
                                showToast(AddFriendMsgActivity.this, "发送失败:"+s);
                            }
                        }
                    });

请求相对来说比较复杂一些,需要我们手动去接收消息。

首先是需要注册消息事件,有两种地方。但是都要在OnCreate方法体内先注册事件接收者

JMessageClient.registerEventReceiver(this);

如果需要使用极光的Event还要注册:

EventBus.getDefault().register(this);

注册完后要重写线程方法
一种是主线程:

  public void onEventMainThread(ContactNotifyEvent event) {
        String message = event.getReason();

        Log.e("bean===", event.getFromUsername() + "," + event.getReason());
    }

另一种是子线程:

public void onEvent(EventEntity event){
 
}

然后我们来打印两个客户端进行传递消息的日志。

JPushIM.png
07-27 15:50:22.133 19990-19990/com.wapchief.jpushim E/bean===: 1004,你好!我是测试老四
07-27 16:02:58.727 21015-21015/com.wapchief.jpushim E/bean===: 1004,你好!我是测试老四1,invite_received
07-27 16:03:03.652 21015-21015/com.wapchief.jpushim E/bean===: 1004,你好!我是测试老四1,2,invite_received
07-27 16:03:29.118 21015-21015/com.wapchief.jpushim E/bean===: 1004,你好!我是测试老四1,2,invite_received

最后别忘了销毁

    @Override
    protected void onDestroy() {
        //销毁
        JMessageClient.unRegisterEventReceiver(this);
        super.onDestroy();

    }

PS
中间还遇到了一个Bug

has no public methods called onEvent
//没有公共方法叫做onEvent

检查是否注册EventBus
和重写onEvent


项目地址:https://github.com/wapchief/Android-IM

相关阅读推荐:


文档参考:
https://docs.jiguang.cn/jmessage/client/im_android_api_docs/
https://docs.jiguang.cn/jmessage/client/im_sdk_android/#_45
https://stackoverflow.com/questions/24926859/subscriber-class-has-no-public-methods-called-on-event

相关文章

  • Android-IM使用极光即时通讯发送、接收好友请求

    首先需要知道整个流程,包括发送方,和接收方 发送请求比较简单如果集成了JMessage可以直接使用下面的类 sen...

  • agsxmpp

    agsXMPP使用 agsXMPP中的例子已经有注册、登录、添加好友、接收好友添加请求、发送消息、接收消息等功能。...

  • API 请求响应处理

    发送请求 使用 “GET” 方法发送 HTTP 请求。点击 【Send】按钮后,请求会发送到 URL 地址,接收到...

  • Android-IM使用imui组件结合JMessage实现即时

    项目源码请参考 Android-IM项目服务端使用极光JMessage对话列表使用aurora-imui开源组件 ...

  • Requests

    Requests库 目录一、Requests基础二、发送请求与接收响应(基本GET请求)三、发送请求与接收响应(基...

  • Go: 使用PUT发送Form Data

    我使用Go实现了一个PUT接口,在浏览器中可以使用ajax发送请求: 但是使用Go写test时,发送的请求却接收不...

  • 命令模式(Command)

    请求发送者与接收者解耦——命令模式(一)请求发送者与接收者解耦——命令模式(二)请求发送者与接收者解耦——命令模式...

  • dubbo剖析:五 网络通信之 -- 请求发送与接收

    注:文章中使用的dubbo源码版本为2.5.4 零、文章目录 Consumer发送请求 Provider接收请求并...

  • Android-IM即时通讯实现自动登陆功能

    效果图 简介 项目源码请参考 Android-IM项目服务端使用极光JMessage 自动登陆的动画使用了一个lo...

  • rabbitmq02 模拟工作请求

    模拟工作请求 1.发送消息 使用input建立一个可以指定发送内容的sender 2.接收消息 每接收到1个点,我...

网友评论

  • 青影2017丶:onEventMainThread 灰色 neverUserd 怎么处理啊!

本文标题:Android-IM使用极光即时通讯发送、接收好友请求

本文链接:https://www.haomeiwen.com/subject/kbizkxtx.html