跳转至

会话页面

静态方式加载

配置布局文件: Activity 对应的布局文件 conversation.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">
<fragment
android:id="@+id/conversation"
android:name="io.rong.imkit.fragment.ConversationFragment"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>

Activity 中需在 onCreate 中配置

        FragmentManager fragmentManage = getSupportFragmentManager();
        ConversationFragment fragement = (ConversationFragment) fragmentManage.findFragmentById(R.id.conversation);
        Uri uri = Uri.parse("rong://" + getApplicationInfo().packageName).buildUpon()
                .appendPath("conversation").appendPath(mConversationType.getName().toLowerCase())
                .appendQueryParameter("targetId", mtargetId).build();

        fragement.setUri(uri);

说明

mConversationType 是指您的会话类型,mtargetId 是指的您的 targetId ;

动态方式加载
    ConversationFragment mConversationFragment=new ConversationFragment();
    Uri uri = Uri.parse("rong://" + getApplicationInfo().packageName).buildUpon()
            .appendPath("conversation").appendPath(mConversationType.getName().toLowerCase())
            .appendQueryParameter("targetId", mTargetId).build();
    mConversationFragment.setUri(uri);
    FragmentManager manager = getSupportFragmentManager();
    FragmentTransaction transaction = manager.beginTransaction();
    transaction.replace(R.id.relativeLayout_main,mConversationFragment );
    transaction.commit(); // 提交创建Fragment请求

配置 intent-filter

在 AndroidManifest.xml 中,会话 Activity 下面配置 intent-filter。 注意请修改 android:host 为 App 的 ApplicationId,其他保持不变。

 <activity
     android:name="io.rong.fast.activity.ConversationActivity"
     android:screenOrientation="portrait"
     android:windowSoftInputMode="stateHidden|adjustResize">
 <intent-filter>
     <action android:name="android.intent.action.VIEW" />

     <category android:name="android.intent.category.DEFAULT" />

     <data
         android:host="${applicationId}"
         android:pathPrefix="/conversation/"
         android:scheme="rong" />
 </intent-filter>
  </activity>
启动会话界面

在点击会话列表或点击通讯录联系人之后,启动会话界面。

会话界面参数说明:

参数 类型 说明
context Context 上下文
conversationType Conversation.ConversationType 会话类型
targetId String 根据不同的 conversationType,可能是用户 Id、群组 Id 或聊天室 Id
title String 聊天的标题

示例代码:

/**
 * 启动会话界面。
 */
RongIM.getInstance().startConversation(mContext, Conversation.ConversationType.PRIVATE , targetId, title)