最近工程上用上融云,搞个配置搞了一天,每次都会出问题,今天把它总结一下分享给网友,下次自己使用直接拿来用:
一、新建工程之后导入融云SDKmodule,之后添加依赖 ctrl+alt+shift+s –>最后一个添加module依赖就行
二、修改你的工程的清单文件:权限、服务和广播及秘钥
<!--权限-->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<!-- 获取机型信息权限 -->
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.GET_TASKS"/>
<uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL"/>
<!-- 查看 Wi-Fi 状态 -->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<!-- 查看网络状态 -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.CAMERA"/>
<!-- 录音 -->
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
<!-- 控制振动器 -->
<uses-permission android:name="android.permission.VIBRATE"/>
<!-- 防止设备休眠 -->
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<uses-permission android:name="android.permission.WRITE_SETTINGS"/>
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
<!--服务及广播--><!--服务、广播、秘钥都要添加在application之内,activity之外-->
<service
android:name="io.rong.push.core.PushRegistrationService"
android:exported="false">
</service>
<service
android:name="io.rong.push.PushService"
android:exported="false"
android:process="io.rong.push">
</service>
<service
android:name="io.rong.push.core.MessageHandleService"
android:exported="true">
</service>
<receiver
android:name="io.rong.push.PushReceiver"
android:process="io.rong.push">
<intent-filter>
<action android:name="io.rong.push.intent.action.HEART_BEAT"/>
</intent-filter>
<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE"/>
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"/>
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.USER_PRESENT"/>
<action android:name="android.intent.action.ACTION_POWER_CONNECTED"/>
<action android:name="android.intent.action.ACTION_POWER_DISCONNECTED"/>
</intent-filter>
</receiver>
<!-- 必选: SDK 核心功能 -->
<!-- end -->
<!-- imlib config begin -->
<service
android:name="io.rong.imlib.ipc.RongService"
android:exported="true"
android:process=":ipc"/>
<service android:name="io.rong.imlib.ReConnectService"/>
<receiver android:name="io.rong.imlib.ConnectChangeReceiver"/>
<receiver
android:name="io.rong.imlib.HeartbeatReceiver"
android:process=":ipc"/>
<!--秘钥(记得导入融云module中清单文件这个删掉)-->
<meta-data
android:name="RONG_CLOUD_APP_KEY"
android:value="n19jmcy5996g9"/> //自己的秘钥,申请的是啥就是啥
<!--列表界面、会话界面(提醒的地方注意下,其他不要改就行)-->
<activity android:name=".ConversationListActivity"> //自己建的Activity
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<data
android:host="com.example.chart" //自己的包名(清单文件上的包名)
android:pathPrefix="/conversationlist" //注意这句话,不能错了
android:scheme="rong"/>
</intent-filter>
</activity>
<!--会话界面-->
<activity android:name=".ConversationActivity"> //自己建的Activity
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<data
android:host="com.example.chart" //自己的包名(清单文件上的包名)
android:pathPrefix="/conversation/" //注意这句话,不能错了
android:scheme="rong" />
</intent-filter>
</activity>
布局文件引入相应的列表界面及会话界面(这两句话,不要搞混了):
<fragment
android:name="io.rong.imkit.fragment.ConversationListFragment" //列表界面
/>
<fragment
android:name="io.rong.imkit.fragment.ConversationFragment" //会话界面
/>