cn.jpush.im.android.api.event.MessageEvent Java Examples

The following examples show how to use cn.jpush.im.android.api.event.MessageEvent. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: MessageFragment.java    From Android-IM with Apache License 2.0 6 votes vote down vote up
public void onEvent(final MessageEvent event) {
        final Message msg = event.getMessage();
        this.getActivity().runOnUiThread(new Runnable() {
            @Override
            public void run() {
//                Log.e("Log:新消息", "消息啊" + msg.getContentType().name() + "\n" + msg);

                if (JMessageClient.getMyInfo().getUserName() == "1006" || JMessageClient.getMyInfo().getUserName().equals("1006")) {

                    final Message message1 =
                            JMessageClient.createSingleTextMessage(((UserInfo)msg.getTargetInfo()).getUserName(), SharedPrefHelper.getInstance().getAppKey(), "[自动回复]你好,我是机器人");
//                    for (int i=0;i<list.size();i++){
//                        conversation = list.get(i);
//                        Message message=conversation.createSendMessage(new TextContent("[自动回复]你好,我是机器人"));
                        JMessageClient.sendMessage(message1);
//                    }
                }
                updataData();

            }
        });

    }
 
Example #2
Source File: ChatMsgActivity.java    From Android-IM with Apache License 2.0 6 votes vote down vote up
public void onEvent(MessageEvent event) {
    final Message message = event.getMessage();

    runOnUiThread(new Runnable() {
        @Override
        public void run() {
            //创建一个消息对象
            myMessage = new MyMessage(((TextContent) message.getContent()).getText(), IMessage.MessageType.RECEIVE_TEXT);
            myMessage.setMessage(message);
            myMessage.setMsgID(message.getServerMessageId());
            myMessage.setText(((TextContent) message.getContent()).getText() + "");
            myMessage.setTimeString(TimeUtils.ms2date("MM-dd HH:mm", message.getCreateTime()));
            myMessage.setUserInfo(new DefaultUser(JMessageClient.getMyInfo().getUserName(), "DeadPool", imgRecrive));

            if (message.getContentType() == ContentType.text || message.getContentType().equals("text")) {
                mAdapter.addToStart(myMessage, true);
                mAdapter.notifyDataSetChanged();
            }
            //收到消息时,添加到集合
            list.add(myMessage);
        }

    });

    //do your own business
}
 
Example #3
Source File: ChatDetailActivity.java    From o2oa with GNU Affero General Public License v3.0 5 votes vote down vote up
/**
 * 接收群成员变化事件
 *
 * @param event 消息事件
 */
public void onEvent(MessageEvent event) {
    final cn.jpush.im.android.api.model.Message msg = event.getMessage();
    if (msg.getContentType() == ContentType.eventNotification) {
        EventNotificationContent.EventNotificationType msgType = ((EventNotificationContent) msg
                .getContent()).getEventNotificationType();
        switch (msgType) {
            //添加群成员事件特殊处理
            case group_member_added:
                List<String> userNames = ((EventNotificationContent) msg.getContent()).getUserNames();
                for (final String userName : userNames) {
                    JMessageClient.getUserInfo(userName, new GetUserInfoCallback() {
                        @Override
                        public void gotResult(int status, String desc, UserInfo userInfo) {
                            if (status == 0) {
                                mChatDetailController.getAdapter().notifyDataSetChanged();
                            }
                        }
                    });
                }
                break;
            case group_member_removed:
                break;
            case group_member_exit:
                break;
        }
        //无论是否添加群成员,刷新界面
        android.os.Message handleMsg = mUIHandler.obtainMessage();
        handleMsg.what = JGApplication.ON_GROUP_EVENT;
        Bundle bundle = new Bundle();
        bundle.putLong(JGApplication.GROUP_ID, ((GroupInfo) msg.getTargetInfo()).getGroupID());
        handleMsg.setData(bundle);
        handleMsg.sendToTarget();
    }
}
 
Example #4
Source File: MainActivity.java    From Android-IM with Apache License 2.0 5 votes vote down vote up
public void onEvent(final MessageEvent event) {
    runOnUiThread(new Runnable() {
        @Override
        public void run() {
            initMsgCount();
        }
    });
}
 
Example #5
Source File: GroupDetailActivity.java    From jmessage-android-uikit with MIT License 5 votes vote down vote up
/**
 * 接收群成员变化事件
 *
 * @param event 消息事件
 */
public void onEvent(MessageEvent event) {
    final cn.jpush.im.android.api.model.Message msg = event.getMessage();
    if (msg.getContentType() == ContentType.eventNotification) {
        EventNotificationContent.EventNotificationType msgType = ((EventNotificationContent) msg
                .getContent()).getEventNotificationType();
        switch (msgType) {
            //添加群成员事件特殊处理
            case group_member_added:
                List<String> userNames = ((EventNotificationContent) msg.getContent()).getUserNames();
                for (final String userName : userNames) {
                    JMessageClient.getUserInfo(userName, new GetUserInfoCallback() {
                        @Override
                        public void gotResult(int status, String desc, UserInfo userInfo) {
                            if (status == 0) {
                                mAdapter.notifyDataSetChanged();
                            } else {
                                HandleResponseCode.onHandle(mContext, status, false);
                            }
                        }
                    });
                }
                break;
            case group_member_removed:
                break;
            case group_member_exit:
                break;
        }
        //无论是否添加群成员,刷新界面
        mHandler.sendEmptyMessage(ON_GROUP_EVENT);
    }
}
 
Example #6
Source File: MessageEventReceiver.java    From Android-IM with Apache License 2.0 4 votes vote down vote up
public void onEvent(MessageEvent event){
    Message msg = event.getMessage();

    switch (msg.getContentType()){
        case text:
            //处理文字消息
            TextContent textContent = (TextContent) msg.getContent();
            textContent.getText();
            break;
        case image:
            //处理图片消息
            ImageContent imageContent = (ImageContent) msg.getContent();
            imageContent.getLocalPath();//图片本地地址
            imageContent.getLocalThumbnailPath();//图片对应缩略图的本地地址
            break;
        case voice:
            //处理语音消息
            VoiceContent voiceContent = (VoiceContent) msg.getContent();
            voiceContent.getLocalPath();//语音文件本地地址
            voiceContent.getDuration();//语音文件时长
            break;
        case custom:
            //处理自定义消息
            CustomContent customContent = (CustomContent) msg.getContent();
            customContent.getNumberValue("custom_num"); //获取自定义的值
            customContent.getBooleanValue("custom_boolean");
            customContent.getStringValue("custom_string");
            break;
        case eventNotification:
            //处理事件提醒消息
            EventNotificationContent eventNotificationContent = (EventNotificationContent)msg.getContent();
            switch (eventNotificationContent.getEventNotificationType()){
                case group_member_added:
                    //群成员加群事件
                    break;
                case group_member_removed:
                    //群成员被踢事件
                    break;
                case group_member_exit:
                    //群成员退群事件
                    break;
            }
            break;
    }
}
 
Example #7
Source File: JmessageFlutterPlugin.java    From jmessage-flutter-plugin with MIT License 3 votes vote down vote up
/**
 * 收到消息事件。
 *
 * @param event 消息事件。
 */
public void onEventMainThread(MessageEvent event) {

  HashMap msgJson = toJson(event.getMessage());

  JmessageFlutterPlugin.instance.channel.invokeMethod("onReceiveMessage", msgJson);
}