集成说明

1、 首先请参考官网文档集成 CallKit SDK 。

2、 src/main/java/io/rong/callkit 下面是 Call 界面的源码,可以自行修改以满足自己的需求。

3、 打开 src/main/AndroidManifest.xml,下面是 Call 相关的代码。

    <uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS" />
    <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL" />
    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

Call 用到的权限。

        <activity
            android:name="io.rong.callkit.MultiVideoCallActivity"
            android:exported="true"
            android:launchMode="singleTop"
            android:screenOrientation="portrait"
            android:windowSoftInputMode="stateHidden|adjustResize">
            <intent-filter>
                <action android:name="io.rong.intent.action.voip.MULTIVIDEO" />

                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>
        <activity
            android:name="io.rong.callkit.SingleCallActivity"
            android:exported="true"
            android:launchMode="singleTop"
            android:screenOrientation="portrait"
            android:windowSoftInputMode="stateHidden|adjustResize">
            <intent-filter>
                <action android:name="io.rong.intent.action.voip.SINGLEVIDEO" />

                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
            <intent-filter>
                <action android:name="io.rong.intent.action.voip.SINGLEAUDIO" />

                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>
        <activity
            android:name="io.rong.callkit.MultiAudioCallActivity"
            android:exported="true"
            android:launchMode="singleTop"
            android:screenOrientation="portrait"
            android:windowSoftInputMode="stateHidden|adjustResize">
            <intent-filter>
                <action android:name="io.rong.intent.action.voip.MULTIAUDIO" />

                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>
        <activity android:name="io.rong.callkit.CallSelectMemberActivity"></activity>

4、 用户使用 Call 期间融云保持 connected 状态。

5、 在群组中,启动视频通话或音频通话时,需要设置群组成员信息,通过 getMemberList 方法返回群组成员的 userId 的集合。以确保选择成员页面能正确显示所有群组成员。设置方法如下:

RongCallKit.setGroupMemberProvider(new RongCallKit.GroupMembersProvider() {
    @Override

    public ArrayList<String> getMemberList(String groupId, final RongCallKit.OnGroupMembersResult result) {

        //返回群组成员userId的集合

    }
});