欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

融云即时通讯

程序员文章站 2022-07-13 14:51:51
...

本小白第一次接触融云,不知道怎么用,所以去看官方的demo,但是官方demo的内容太多了,而本小白只需要客服即可,加上看官方demo很多东西看不懂,所以就自己想办法了。

因为只需要客服,所以只需要集成IMKit和IMLib即可,详细信息官网有介绍,我这边就不废话了

一般来说,按照官方文档走肯定是没问题的,但是我还是遇到问题了。

从集成SDK到打开客服聊天界面,按照文档走都是没问题的,但是接下来,问题就来了

这是文档中打开客服聊天界面的方法:

融云即时通讯

这个方法是没有问题的,但是当调用这个方法之后,会发现不管怎么点,客服页面都不会跳出来,但是同时伴随着会有消息来的声音(前提是你的手机没有静音)

去看官方demo,会发现一个有趣的类ConversationActivity,这个类的注释是会话页面。这个类就是我们需要的来承载客服页面activity,官方demo写了很多东西,但是此时

我只需要一个客服页面就可以了,于是我发现,ConversationActivity只需要继承FragmentActivity就可以了,这点可以在官方的demo中很容易看出.

然后我在ConversationActivity中的代码也及其简单,我只在onCreate方法中写了一句代码,如下:

@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.conversation);
	}
xml中的需要放一个fragment,如下:

 <fragment
        android:id="@+id/conversation"
        android:name="io.rong.imkit.fragment.ConversationFragment"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />
接下来我觉得是最主要的一步,那就是要在manifest中加入如下代码,这个在融云demo中也可以找到

 <!-- 会话界面 -->
        <activity
            android:name=".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="项目包名"
                    android:pathPrefix="/conversation/"
                    android:scheme="rong" />
            </intent-filter>
        </activity>
还有就是最后一点,其实我也没明白这是干嘛的,但是不加这句的话会出错(有谁明白这是啥意思的话,麻烦告诉我一下,本小白虚心请教):

<provider
            android:name="android.support.v4.content.FileProvider"
            android:authorities="项目包名.FileProvider"
            android:exported="false"
            android:grantUriPermissions="true">
            <meta-data
                android:name="android.support.FILE_PROVIDER_PATHS"
                android:resource="@xml/rc_file_path" />
        </provider>

附:本小白是新手一枚,有出错的地方敬请大神指出,本小白不吝感激!