Android 环信 客服集成
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 环信 客服集成相关推荐
- android 环信客服修改自己的头像
因为自己项目目中遇到到了,有自己的需求,所以就修改了环信自己的头像,客服的头像也修改了,好了废话不多说了上干活 首先找到easeui中的类EaseUserUtils 不过我把图片都保存到本 ...
- android 环信客服 自动登出,Android环信聊天头像昵称显示解决方案
从消息扩展中获取昵称和头像 昵称和头像的获取:把用户基本的昵称和头像的URL放到消息的扩展中,通过消息传递给接收方,当收到一条消息时,则能通过消息的扩展得到发送者的昵称和头像URL,然后保存到本地数据 ...
- 环信客服SDK接入-----(一)
第1步:快速创建APP关联 移动客服系统的"APP关联"对应即时通讯云(IM)后台的应用.在移动客服系统创建关联后,可直接登录IM后台管理该关联对应的应用. 如果您还没有环信即时通 ...
- Android环信即时通信集成全过程(含demo)
最近闲来无事,就使用环信提供的文档写了一篇详细的即时通信的软件, ok 为了感谢老东家的突出贡献 先将环信的详细文档地址贴出来: http://docs-im.easemob.com/im/andro ...
- Android 环信即时通讯集成
1. 首先需要注册环信即时通讯 主要是获取到appkey 2. 下载Android 的 sdk 和 demo 3. 第三步 我先忙需要导入 easeui 声明一点 libs.lite ...
- uni-app接入环信客服云 easemobim
需求:点击商品详情里的客服按钮,跳转(注意:不是拉起)页面,页面为客服窗口 尝试: uni-app webview直接集成网页链接(https://106280.kefu.easemob.com/we ...
- android环信即时通讯集成坑爹 注册报错208解决
第一种情况: 你用的环信APPkey 是授权模式的 只要改成开放模式就可以了 第二种情况: 上述情况在环信官网都有说明 但是这种情况 环信官网就没得说明 只说的是同步方法 注册 ...
- android 头像简称,Android环信显示头像及昵称的简单方法
在我们日常应用开发中,很多时候产品需要IM聊天功能.考虑到时间.难度等问题一般会选择集成一些比较稳定的第三方SDK来实现功能.最近的项目也有IM需求,因为之前用过环信,感觉还不错,所以就再次使用了环信 ...
- Android环信3.0即时通讯云入门指北
Android环信3.0即时通讯云入门指北 官方文档 http://docs-im.easemob.com/im/android/sdk/import 基础集成 http://docs-im.ease ...
- android项目模块导入eclipse编译报错,android环信demo导入eclipse编译出错
官网最新下载的android环信sdk,导入编译出错:java.lang.RuntimeException: Unable to instantiate application com.hyphena ...
最新文章
- 一个查看全部用户的磁盘空间使用情况的脚本
- # 2017-2018-1 20155224 《信息安全系系统设计基础》实验四
- scrapy中使用代理cookies user-agent
- 虚拟化技术的概述及使用
- k8s kubesphere启用可插拔组件(安装前、后均可)
- Boost:path的测试程序
- ltrim函数_常用基础函数
- App WebView实例化
- leetcode两数之和
- string 找出所有数字 index_发现规律,解决整数转罗马数字
- Java:File.separator作用相当于 ‘ \ ‘
- 如何在 Mac 上的“快速查看”中查看和编辑文件
- python tkinter place布局
- python新建文件夹口令_Python脚本破解压缩文件口令实例教程(zipfile)
- 二进制文件与文本文件详解
- 考勤统计,一张表查询每月的员工考勤数据
- 干细胞相关研究最新进展(2021年9月)
- 计算机房电磁辐射防护,环境电磁辐射监测仪器要求和标准监测方法
- 2019大裁员!年关将至,最高裁员比例竟达90%?
- 成功解决ImportError: cannot import name ‘_validate_lengths‘