版权声明:本文为博主【龙吟在天】原创文章:
android-使用环信SDK开发即时通信功能及源码下载
http://blog.csdn.net/u010156024/article/details/46826307
Android 环信之踩过的坑(一)---配置
http://blog.csdn.net/qq_30552993/article/details/56840870
Android 环信之踩过的坑(二)---Java.lang.UnsatisfiedLinkError
http://blog.csdn.net/qq_30552993/article/details/58026319
android中easeui 环信3.2.3 昵称 头像 设置解决办法
http://www.cnblogs.com/zhang-cb/p/6292254.html
环信不支持任何用户属性,昵称、头像也需要你们在自己的体系中维护。
一般分两种
(1) 如果有自己的好友体系,当用户登录成功后,应该从你们服务器获取好友信息以及好友对应的环信 id。当聊天时,根据消息中的环信id找到对应的好友,找到其信息并在ui显示。
(2) 如果不存在自己的用户体系,可以通过message中的扩展属性将发送人的头像和昵称带过来,接收方 解析扩展属性就能得到发送方的信息。
Android环信聊天头像昵称显示解决方案
http://www.jianshu.com/p/3659544e0ed5
Android使用EaseUI集成环信3.0
http://blog.csdn.net/gggccy/article/details/52195568
第三方sdk(统计,客服,环信,buyle,个推)
http://blog.csdn.net/q9104422999/article/category/6415210
即时通讯云和移动客服下载地址
http://www.easemob.com/download/im
http://docs.easemob.com/im/200androidclientintegration/10androidsdkimport
http://docs.easemob.com/im/200androidclientintegration/135easeuiuseguide
【快速搞定】教你如何快速集成环信(android端EaseUI)踩过的坑
http://blog.csdn.net/qq137722697/article/details/52200355
http://www.jianshu.com/p/fa36152f1d57
《一》添加权限(demo的权限)
<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" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.USE_CREDENTIALS" />
<uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" />
<uses-permission android:name="android.permission.BROADCAST_STICKY" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" />
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<permission
android:name="com.hyphenate.chatuidemo.permission.C2D_MESSAGE"
android:protectionLevel="signature" />
<uses-permission android:name="com.hyphenate.chatuidemo.permission.C2D_MESSAGE" />
<permission
android:name="com.hyphenate.chatuidemo.permission.MIPUSH_RECEIVE"
android:protectionLevel="signatureOrSystem" />
<uses-permission android:name="com.hyphenate.chatuidemo.permission.MIPUSH_RECEIVE" />
《二》 根据应用名称生成的key
<meta-data android:name="EASEMOB_APPKEY" android:value="your key" />
<service android:name="com.hyphenate.chat.EMChatService" android:exported="true"/>
<service android:name="com.hyphenate.chat.EMJobService"
android:permission="android.permission.BIND_JOB_SERVICE"
android:exported="true"
/>
<receiver android:name="com.hyphenate.chat.EMMonitorReceiver">
<intent-filter>
<action android:name="android.intent.action.PACKAGE_REMOVED"/>
<data android:scheme="package"/>
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"/>
<action android:name="android.intent.action.USER_PRESENT" />
</intent-filter>
</receiver>
《三》导入EsaeUI库关联应用并初始化Application
public class IMApplication extends Application {
private static Context mContext;
@Override
public void onCreate() {
super.onCreate();
EMOptions options = new EMOptions();
options.setAutoAcceptGroupInvitation(false);// 不自动接受群邀请信息
options.setAcceptInvitationAlways(false);// 不总是一直接受所有邀请
// 初始化EaseUI
EaseUI.getInstance().init(this,options);
// 初始化模型层数据
Modle.getInstance().init(this);
mContext = this;
}
// 获取全局上下文
public static Context getApplication(){
return mContext;
}
}
// 在AndroidManifest.xml中关联
<application
android:name=".IMApplication"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
</application>
《四》解决错误
compile ('com.android.support:appcompat-v7:23.4.0'){
exclude module: 'support-v4'
}
compile project(':easeui')