简单的实现融云SDK集成
来源:互联网 发布:清北学霸 知乎 编辑:程序博客网 时间:2024/05/29 04:43
首先我们要去融云官网下载最新的SDK版本解压备用
融云官网
接下来就是我们把解压下来的SDK中的PushLib\pushDaemon\libs下的四个so文件考到自己项目下的libs里面
PushLib下的两个JAR包考进去,记得Add
再然后在main文件下创建一个文件夹,这样
然后把PushLib\pushDaemon\executable里面的四个文件考进去
然后就是导入Model,把解压的SDK的IMKit,IMLib,导入项目中,然后关联
compile files('libs/MiPush_SDK_Client_3_2_2.jar') compile project(':IMLib') compile project(':IMKit')
接下来就到了代码的部分,创建一个App类继承application
初始化融云
package com.example.a56553.xiangmuerexam;import android.app.ActivityManager;import android.app.Application;import android.content.Context;import android.util.Log;import java.util.List;import io.rong.imkit.RongIM;import io.rong.imlib.RongIMClient;import io.rong.imlib.model.Message;/** * Created by 56553 on 2017/10/31. */public class App extends Application { @Override public void onCreate() { super.onCreate(); RongIM.init(this);//初始化融云 RongIM.setOnReceiveMessageListener(new MyReceiveMessageListener()); } public static String getCurProcessName(Context applicationContext) { ActivityManager activityManager = (ActivityManager) applicationContext.getSystemService(Context.ACTIVITY_SERVICE); List<ActivityManager.RunningAppProcessInfo> runningApps = activityManager.getRunningAppProcesses(); if (runningApps == null) { return null; } int pid = android.os.Process.myPid(); for (ActivityManager.RunningAppProcessInfo procInfo : runningApps) { if (procInfo.pid == pid) { return procInfo.processName; } } return null; } private class MyReceiveMessageListener implements RongIMClient.OnReceiveMessageListener { /** * 收到消息的处理。 * * @param message 收到的消息实体。 * @param left 剩余未拉取消息数目。 * @return 收到消息是否处理完成,true 表示自己处理铃声和后台通知,false 走融云默认处理方式。 */ @Override public boolean onReceived(Message message, int left) { //开发者根据自己需求自行处理 Log.i("+++++++++++", "onReceived: "+message.toString()); return false; } }}
LoginActivity
package com.example.a56553.xiangmuerexam;import android.content.Intent;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.util.Log;import android.widget.Toast;import io.rong.imkit.RongIM;import io.rong.imlib.RongIMClient;public class LoginActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_login); connect("7mIkYCRLk+8shgMVModBMojPtE0D5yA8oBdN1AyPQ5Tr0VthohdlzrmYzIScRRtAnxLomCMKJTL2ICp90OZe+w=="); //Toast.makeText(this, "111", Toast.LENGTH_SHORT).show(); } private void connect(String token) { if (getApplicationInfo().packageName.equals(App.getCurProcessName(getApplicationContext()))) { RongIM.connect(token, new RongIMClient.ConnectCallback() { @Override public void onTokenIncorrect() { } @Override public void onSuccess(String userid) { Log.d("LoginActivity", "--onSuccess" + userid); //Toast.makeText(LoginActivity.this, "进了", Toast.LENGTH_SHORT).show(); startActivity(new Intent(LoginActivity.this, MainActivity.class)); finish(); } @Override public void onError(RongIMClient.ErrorCode errorCode) { Toast.makeText(LoginActivity.this, "失败", Toast.LENGTH_SHORT).show(); } }); } }}上面的那个token是在官网获取的
把你的token换上
跳转的
MainActivity
package com.example.a56553.xiangmuerexam;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.widget.Toast;import io.rong.imkit.RongIM;public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); if (RongIM.getInstance() != null) { try { Toast.makeText(this, "连接成功", Toast.LENGTH_SHORT).show(); RongIM.getInstance().startPrivateChat(MainActivity.this , "123" , "hello"); } catch (Exception e) { e.printStackTrace(); } } }}再然后就是你的配置文件,记得把application配置,加上网络权限
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.a56553.xiangmuerexam">包名 <uses-permission android:name="android.permission.INTERNET"></uses-permission>网络权限 <application android:name=".App"配置application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".LoginActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".MainActivity"> <provider android:name="android.support.v4.content.FileProvider" android:authorities="你的包名.FileProvider" android:grantUriPermissions="true" android:exported="false"> <meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/rc_file_path"/> </provider> <meta-data android:name="RONG_CLOUD_APP_KEY" android:value="你创建的应用的APP Key" /> </activity> </application></manifest>
然后去官网进入你建立的项目
点击提交,打开电脑声音就会听到叮的一声,这就表示集成成功了
阅读全文
0 0
- 简单的实现融云SDK集成
- Ucloud直播云SDK的简单集成
- 集成融云Android SDK实现在群聊/讨论组中@人的功能(一)
- 集成融云Android SDK实现在群聊/讨论组中@人的功能(二)
- 集成融云Android SDK实现在群聊/讨论组中@人的功能(三)
- 安卓集成融云即时通讯云的个人理解(集成sdk,登录)
- AS集成科大讯飞SDK实现问答机器人的效果
- 讯联支付sdk集成简单讲解
- 集成sdk的正确姿势
- 个推SDK的集成
- Android集成SDK实现QQ登录教程
- 【融云SDK集成实现单聊App】
- 环信ease-sdk-3.3.4_r1 集成用户头像 昵称功能的简单处理方法
- Android中如何集成融云SDK单聊
- 快速集成融云SDK– Android Studio
- 第三方SDK:RongCloud IMKit实现简单的单人会话
- Quartz 集成Spring实现简单的任务调度Demo
- Android 以webview的方式集成Dcloud 5+SDK 实现携带数据跳转原生界面
- Cocos2d C++与lua互相调用
- java代理
- android jni C++ java 相互调用
- [leetcode] 79. Word Search
- JavaScript鼠标事件2
- 简单的实现融云SDK集成
- ORACLE 如何处理表锁定问题
- 第一篇
- 圆进度条
- jQuery中的contents用法
- 当决定使用 Ubuntu 来开发时
- oracle查询机构树
- 常用权限依赖
- QueryUnLoad->Unload->Terminate