Android环信IM简单集成(EaseUI)

来源:互联网 发布:淘宝店标制作软件 编辑:程序博客网 时间:2024/05/19 19:40

环信,用来做即时通信的,使用环信自己的EaseUI集成的话,还是比较简单的。

1、在环信官网注册一个账号,然后进入环信管理后台!这里写图片描述

创建项目,拿到我们需要的AppKey

2、我们需要去下载SDK,下载完成后,将examples下的easeui包导入AS这里写图片描述

将libs下的.so文件放入AS的libs下
这里写图片描述
这里写图片描述

3、在build.gradle中添加libs的路径
android {  ......    sourceSets {        main {            jniLibs.srcDirs = ['libs']        }    }}
4、在AndroidManifest.XML的application标签下配置
  <!-- 设置环信应用的AppKey -->        <meta-data            android:name="EASEMOB_APPKEY"            android:value="1128170719178779#hailiao"/>        <!-- 声明SDK所需的service SDK核心功能 -->        <service            android:name="com.hyphenate.chat.EMChatService"            android:exported="true"/>        <service            android:name="com.hyphenate.chat.EMJobService"            android:exported="true"            android:permission="android.permission.BIND_JOB_SERVICE"/>        <!-- 声明SDK所需的receiver -->        <receiver android:name="com.hyphenate.chat.EMMonitorReceiver">            <intent-filter>                <action android:name="android.intent.action.PACKAGE_REMOVED"/>                <data android:scheme="package"/>            </intent-filter>            <!-- 可选filter -->            <intent-filter>                <action android:name="android.intent.action.BOOT_COMPLETED"/>                <action android:name="android.intent.action.USER_PRESENT"/>            </intent-filter>        </receiver>

然后将权限添加一下

<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.ACCESS_MOCK_LOCATION" />    <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" />

现在工程的配置已经完成,剩下的就是代码中的事情了。

5、在application里进行初始化
public class MyApplication extends Application {    @Override    public void onCreate() {        super.onCreate();        init();    }    private void init() {        EMOptions options = new EMOptions();// 默认添加好友时,是不需要验证的,改成需要验证        options.setAcceptInvitationAlways(false);//初始化        EaseUI.getInstance().init(getApplicationContext(), options);        EMClient.getInstance().init(getApplicationContext(), options);//在做打包混淆时,关闭debug模式,避免消耗不必要的资源        EMClient.getInstance().setDebugMode(true);    }
6、我们要在合适的位置进行一个环信注册(看自己的需求)
 new Thread(new Runnable() {                @Override                public void run() {                    try { //这里的参数是两个String                   EMClient.getInstance().createAccount("test2"/*userId+""*/, yxpassword);                    } catch (HyphenateException e) {                        e.printStackTrace();                    }                }            }).start();

环信的注册需要在子线程中进行。

7、然后要做一个环信的登录,写在哪里也是看自己的需求
 EMClient.getInstance().login(/*userId*/"test2", password, new EMCallBack() {            @Override            public void onSuccess() {               Logger.d("登录成功");            }            @Override            public void onError(int i, String s) {                Logger.d("login_onError----->" +i +","+ s);                // Toast.makeText(LoginActivity.this, s, Toast.LENGTH_SHORT).show();            }            @Override            public void onProgress(int i, String s) {            }        });
8、我们需要创建一个Activity,xml里只需要做一个FrameLayout就可以了,用来承载easeui的聊天布局,在跳转到这个Activity时,我们要将两个参数传过去,一个是聊天的类型,单聊,群聊,一个是要和谁聊天,将目标的环信id传过去
 Intent intent = new Intent(getActivity(),MessageActivity.class);                intent.putExtra(EaseConstant.EXTRA_CHAT_TYPE, EMMessage.ChatType.Chat);                intent.putExtra(EaseConstant.EXTRA_USER_ID,/*friendList.getData().get(position).getUserId()*/"test1");                startActivity(intent);
9、最后一步需要在上面的Activity中调用easeui中的方法
 EaseChatFragment chatFragment = new EaseChatFragment();        //传入参数        chatFragment.setArguments(getIntent().getExtras());        getSupportFragmentManager().beginTransaction().add(R.id.frame_message_activity, chatFragment).commit();

通过以上几步即可简单实现环信的集成,此文章只是自娱自乐,不喜勿喷。

原创粉丝点击