EMMessage.createSendMessage(EMMessage.Type.TXT) 创建空值

问题描述

EMConversationconversation = EMChatManager.getInstance().getConversation(userName);EMMessage message = EMMessage.createSendMessage(EMMessage.Type.TXT);这个自定义 消息,如果在 server上执行,就会报错07-08 05:01:38.759: E/AndroidRuntime(4142): java.lang.NullPointerException07-08 05:01:38.759: E/AndroidRuntime(4142): at android.preference.PreferenceManager.getDefaultSharedPreferencesName(PreferenceManager.java:374)07-08 05:01:38.759: E/AndroidRuntime(4142): at android.preference.PreferenceManager.getDefaultSharedPreferences(PreferenceManager.java:369)07-08 05:01:38.759: E/AndroidRuntime(4142): at com.easemob.chat.EMSessionManager.getLastLoginUser(Unknown Source)07-08 05:01:38.759: E/AndroidRuntime(4142): at com.easemob.chat.EMMessage.createSendMessage(Unknown Source) 在activity上使用 相同的接口就是ok的,请确认这个是不是需要满足一定条件才行,谢谢

解决方案

@fengbenpao 不要在service里调用
解决方案二:
仔细想想,应该是这个接口里面调用了  getDefaultSharedPreferences   由于切换到后台server的时候, 导致当前的 package变化,  所以去获取该 sharePreferences的时候,为空导致的。   请测试一下这个接口
解决方案三:
在 server上执行是什么意思
解决方案四:
就是我将这个接口放在Service中执行,不放在activity执行。

时间: 2024-09-08 09:12:59

EMMessage.createSendMessage(EMMessage.Type.TXT) 创建空值的相关文章

安卓环信sdk,发送消息怎么发不出去?错误404

问题描述 解决方案 @Override    public void onClick(View v) {        // TODO Auto-generated method stub        switch (v.getId()) {        case R.id.fasong:            String xiaoxi = text.getText().toString();            if (xiaoxi.equals("")) {        

无法发送信息,有人能帮忙看看吗

问题描述 按照文档的方法,创建一条文本消息但是创建的时候消息对象却捕获了异常这时什么原因,另外登陆也成功了,接受也成功了,唯独不能发送EMMessage message = EMMessage.createSendMessage(EMMessage.Type.TXT);com.sun.jdi.InvocationException occurred invoking method. 解决方案 这是什么啊,都看不清,报错贴log解决方案二:看一下你是怎么写的,上面一句代码,获取会话对象那里解决方案

安卓中代码中如何实现把用户基本的昵称和头像的URL放到消息的扩展中,通过消息传递给接收方

问题描述 代码集成的是EaseUi库! 解决方案 EMMessage message = EMMessage.createSendMessage(EMMessage.Type.TXT);   message.setAttribute("nicke", userInfoEntity.getName());    message.setAttribute("role", userInfoEntity.getRole());

单聊收发消息正常,APP退出后再启动却无法获得刚才的聊天记录

问题描述 聊天界面是这样初始化的:EMChatManager.getInstance().loadAllConversations();conversation = EMChatManager.getInstance().getConversation(username);lst_Chat = conversation.getAllMessages(); 发送消息是这样写的:EMMessage message = EMMessage.createSendMessage(EMMessage.Typ

扩展信息怎么弄的,接口在哪里?-Android端?

问题描述 扩展信息怎么弄的,接口在哪里?-Android端? 解决方案 发普通消息的时候会带着扩展信息,接口文档http://easemob.com/docs/android/advanced/解决方案二:我也想知道,哈哈解决方案三:本帖最后由 chaoren 于 2015-2-27 13:24 编辑 SDK包含的数据类型只有语音,图片,文字,文件,视频,但是针对这几种并不能满足所有的app,环信提供的自定义扩展属性正好弥补了这个缺陷,你想做一个图文混排,名片等不同需求都可以很好的处理,举个制作

android 无法实现接收图片

问题描述 发送图片的代码conversation = EMChatManager.getInstance().getConversation(toChatUsername);message = EMMessage.createSendMessage(EMMessage.Type.IMAGE);ImageMessageBody body = new ImageMessageBody(new File("/storage/emulated/0/DCIM/Camera/IMG_20151018_231

Android 从本地服务端导入图片消息到数据库,图片不显示

问题描述 导入方法EMMessage message = EMMessage.createSendMessage(EMMessage.Type.IMAGE);message.setChatType(ChatType.Chat);ImageMessageBody body = new ImageMessageBody();body.setFileName("test1.jpg");body.setRemoteUrl("https://a1.easemob.com/easemob

Android环信2.x透传无法接收的问题

问题描述 按照Android环信2.x的文档中的说法来使用透传,A端发送透传后进入onSuccess告知我发送成功,但B端却无法收到透传消息.透传是否需要二者为好友关系?为什么文档写得这么简单,用起来却并不简单?(发送端)代码如下:EMMessage cmdMsg = EMMessage.createSendMessage(EMMessage.Type.CMD); //支持单聊和群聊,默认单聊,如果是群聊添加下面这行 cmdMsg.setChatType(EMMessage.ChatType.G

透传收不到

问题描述 /**     * 透传     */    private void sendNoticeUpdateMsg(){        EMMessage cmdMsg = EMMessage.createSendMessage(EMMessage.Type.CMD);        //支持单聊和群聊,默认单聊,如果是群聊添加下面这行        cmdMsg.setChatType(ChatType.GroupChat);        String action="action1&