1,引入依赖

compile 'com.hyphenate:kefu-easeui-android:latest.release'

在项目对应的build.gradle   android中defaultConfig之下添加

defaultConfig {ndk {abiFilters 'armeabi-v7a', 'arm64-v8a', 'armeabi', 'x86'}
}

2,清单

<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />

3,初始化环信

在MyApplication 的onCreate()中

ChatClient.Options options = new ChatClient.Options();
options.setAppkey(ShareKey.HX_Appkey);
options.setTenantId(ShareKey.HX_ID);if (!ChatClient.getInstance().init(this, options)) {return;
}
UIProvider.getInstance().init(this);

4,登录环信(环信账号注册放后台)

private void hxLogin(String phoneStr, String passStr) {ChatClient.getInstance().login(phoneStr, passStr, new HXCallback());
}

登录监听

public class HXCallback implements Callback {@Overridepublic void onSuccess() {}@Overridepublic void onError(int i, String s) {}@Overridepublic void onProgress(int i, String s) {}
}

5,进入聊天界面

/*跳转到客服页面*/
public static void startChat(Context context) {//判断环信是否登录if (ChatClient.getInstance().isLoggedInBefore()) {Intent intent2 = new IntentBuilder(context).setTargetClass(ChatAc.class).setTitleName("客服")//这是传到聊天界面的客服昵称,.setServiceIMNumber(ShareKey.HX_IM) //获取地址:“管理员模式 > 渠道管理 > 手机APP”页面的关联的“IM服务号”.build();context.startActivity(intent2);} else {Intent intent = new Intent();intent.setClass(context, LoginAc.class);context.startActivity(intent);}
}
public class ChatAc extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.ac_chat);ChatFragment chatFragment = new ChatFragment();chatFragment.setArguments(getIntent().getExtras());getSupportFragmentManager().beginTransaction().add(R.id.container, chatFragment).commit();}
}布局:ac_chat.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  android:layout_width="match_parent"  android:layout_height="match_parent"  android:orientation="vertical">   <FrameLayout
​​​​​​​    android:id="@+id/container" android:layout_width="match_parent"  android:layout_height="match_parent" /> </LinearLayout>

集成过程中遇到一个问题,点击聊天内容的图片和视屏会包空指针

java.lang.NullPointerException:
Attempt to invoke virtual method 'void com.hyphenate.helpdesk.easeui.Notifier.reset()'on a null object reference

解决方法:

环信官网初始化代码是:

     //环信客服系统初始化// 设置为true后,将打印日志到logcat, 发布APP时应关闭该选项
//        ChatClient.getInstance().init(this, new ChatClient.Options().setAppkey(ShareKey.HX_Appkey).setTenantId(ShareKey.HX_ID));
//        ChatClient.getInstance().init(this, new ChatClient.Options().setConsoleLog(false));

修改为

ChatClient.Options options = new ChatClient.Options();
options.setAppkey(ShareKey.HX_Appkey);
options.setTenantId(ShareKey.HX_ID);if (!ChatClient.getInstance().init(this, options)) {return;
}
UIProvider.getInstance().init(this);
​​​​​​​

问题解决!

Android 环信 客服集成相关推荐

  1. android 环信客服修改自己的头像

    因为自己项目目中遇到到了,有自己的需求,所以就修改了环信自己的头像,客服的头像也修改了,好了废话不多说了上干活 首先找到easeui中的类EaseUserUtils       不过我把图片都保存到本 ...

  2. android 环信客服 自动登出,Android环信聊天头像昵称显示解决方案

    从消息扩展中获取昵称和头像 昵称和头像的获取:把用户基本的昵称和头像的URL放到消息的扩展中,通过消息传递给接收方,当收到一条消息时,则能通过消息的扩展得到发送者的昵称和头像URL,然后保存到本地数据 ...

  3. 环信客服SDK接入-----(一)

    第1步:快速创建APP关联 移动客服系统的"APP关联"对应即时通讯云(IM)后台的应用.在移动客服系统创建关联后,可直接登录IM后台管理该关联对应的应用. 如果您还没有环信即时通 ...

  4. Android环信即时通信集成全过程(含demo)

    最近闲来无事,就使用环信提供的文档写了一篇详细的即时通信的软件, ok 为了感谢老东家的突出贡献 先将环信的详细文档地址贴出来: http://docs-im.easemob.com/im/andro ...

  5. Android 环信即时通讯集成

    1.  首先需要注册环信即时通讯    主要是获取到appkey 2. 下载Android  的 sdk  和 demo 3. 第三步 我先忙需要导入  easeui 声明一点 libs.lite  ...

  6. uni-app接入环信客服云 easemobim

    需求:点击商品详情里的客服按钮,跳转(注意:不是拉起)页面,页面为客服窗口 尝试: uni-app webview直接集成网页链接(https://106280.kefu.easemob.com/we ...

  7. android环信即时通讯集成坑爹 注册报错208解决

    第一种情况:    你用的环信APPkey 是授权模式的   只要改成开放模式就可以了 第二种情况:    上述情况在环信官网都有说明  但是这种情况  环信官网就没得说明   只说的是同步方法 注册 ...

  8. android 头像简称,Android环信显示头像及昵称的简单方法

    在我们日常应用开发中,很多时候产品需要IM聊天功能.考虑到时间.难度等问题一般会选择集成一些比较稳定的第三方SDK来实现功能.最近的项目也有IM需求,因为之前用过环信,感觉还不错,所以就再次使用了环信 ...

  9. Android环信3.0即时通讯云入门指北

    Android环信3.0即时通讯云入门指北 官方文档 http://docs-im.easemob.com/im/android/sdk/import 基础集成 http://docs-im.ease ...

  10. android项目模块导入eclipse编译报错,android环信demo导入eclipse编译出错

    官网最新下载的android环信sdk,导入编译出错:java.lang.RuntimeException: Unable to instantiate application com.hyphena ...

最新文章

  1. 一个查看全部用户的磁盘空间使用情况的脚本
  2. # 2017-2018-1 20155224 《信息安全系系统设计基础》实验四
  3. scrapy中使用代理cookies user-agent
  4. 虚拟化技术的概述及使用
  5. k8s kubesphere启用可插拔组件(安装前、后均可)
  6. Boost:path的测试程序
  7. ltrim函数_常用基础函数
  8. App WebView实例化
  9. leetcode两数之和
  10. string 找出所有数字 index_发现规律,解决整数转罗马数字
  11. Java:File.separator作用相当于 ‘ \ ‘
  12. 如何在 Mac 上的“快速查看”中查看和编辑文件
  13. python tkinter place布局
  14. python新建文件夹口令_Python脚本破解压缩文件口令实例教程(zipfile)
  15. 二进制文件与文本文件详解
  16. 考勤统计,一张表查询每月的员工考勤数据
  17. 干细胞相关研究最新进展(2021年9月)
  18. 计算机房电磁辐射防护,环境电磁辐射监测仪器要求和标准监测方法
  19. 2019大裁员!年关将至,最高裁员比例竟达90%?
  20. 成功解决ImportError: cannot import name ‘_validate_lengths‘

热门文章

  1. 微软ad域服务器 管理用户,威联通NAS助企业解决Windows AD域账户管理
  2. excel 常用技巧
  3. ABP AOP 用例
  4. 定位弹窗软件----找到真凶并做后续防御
  5. maven本地有包但是引不进来 已解决
  6. gRPC源码阅读及实践之 Resolver
  7. 不存在R上的连续函数f,它在无理数集R\Q上是一一映射,而在有理数集Q上不是一一映 射。
  8. [資源]RAID是什么意思?RAID的应用
  9. 数据致敬'总裁'-C罗
  10. 基于you-get的视频批量下载