IM 即时通讯
界面跳转
更新时间: 2022/09/01 10:08:25
IM UIKit 提供统一路由XKitRouter
,支持参数传递和回调,实现界面的跳转和模块之间的解耦。
IM UIKit 内置界面跳转
IM UIKit 内置的任意界面都可以通过路由地址跳转到其他指定界面。
如何使用路由进行跳转
调用navigate
方法进行界面跳转。
方法原型如下:
//带参数的界面跳转
XKitRouter.withKey(path).withParam(paramKey,param).withContext(context).navigate();
//不带参数的界面跳转
XKitRouter.withKey(path).withContext(context).navigate();
参数 | 类型 | 说明 |
---|---|---|
path |
String | 目标界面对应的跳转地址 |
paramKey |
String | 传递到目标界面的参数 KEY |
param |
Serializable | 传递到目标界面的参数值 |
context |
Context | Activity 上下文 |
内部路由地址概览
路由地址 |
UIKit 定义 |
Page |
对应界面 |
跳转需传入参数 |
---|---|---|---|---|
imkit://contact/contactList.page | RouterConstant.PATH_CONTACT_PAGE |
ContactActivity |
通讯录界面 | 无 |
imkit://contact/selector.page | RouterConstant.PATH_CONTACT_SELECTOR_PAGE |
ContactSelectorActivity |
通讯录人员选择器 | 无 |
imkit://contact/addFriend.page | RouterConstant.PATH_ADD_FRIEND_PAGE |
AddFriendActivity |
添加好友界面 | 无 |
imkit://contact/userInfo.page | RouterConstant.PATH_USER_INFO_PAGE |
UserInfoActivity |
用户信息界面 | 参见跳转至用户信息界面 |
imkit://contact/blackList.page | RouterConstant.PATH_MY_BLACK_PAGE |
BlackListActivity |
黑名单界面 | 无 |
imkit://contact/teamList.page | RouterConstant.PATH_MY_TEAM_PAGE |
TeamListActivity |
我的群组界面 | 无 |
imkit://contact/verifyList.page | RouterConstant.PATH_MY_NOTIFICATION_PAGE |
VerifyListActivity |
系统通知界面 | 无 |
imkit://chat/p2pChat.page | RouterConstant. PATH_CHAT_P2P_PAGE |
ChatP2PActivity |
单聊界面 | 参见跳转至单聊界面 |
imkit://chat/teamChat.page | RouterConstant.PATH_CHAT_TEAM_PAGE |
ChatTeamActivity |
群聊界面 | 参见跳转至群聊界面 |
imkit://chat/searchMessage.page | RouterConstant.PATH_CHAT_SEARCH_PAGE |
ChatSearchActivity |
聊天内容搜索界面 | 参见跳转至群聊搜索界面 |
imkit://team/teamSetting.page | RouterConstant.PATH_TEAM_SETTING_PAGE |
TeamSettingActivity |
群设置界面 | 参见跳转至群聊设置界面 |
imkit://search/search.page | RouterConstant.PATH_GLOBAL_SEARCH_PAGE |
GlobalSearchActivity |
好友搜索界面 | 无 |
imkit://mine/userInfo.page | RouterConstant.PATH_MINE_INFO_PAGE |
UserInfoActivity |
我的个人信息界面 | 无 |
imkit://conversation/conversation.page | RouterConstant.PATH_CONVERSATION_PAGE |
ConversationActivity |
会话列表页 | 无 |
跳转至用户信息界面
- 示例代码
XKitRouter.withKey(RouterConstant.PATH_USER_INFO_PAGE).withParam(RouterConstant.KEY_ACCOUNT_ID_KEY,"accoutID").withContext(context).navigate();
-
参数说明
参数 类型 说明 RouterConstant.PATH_USER_INFO_PAGE
String 用户信息界面的跳转地址 RouterConstant.KEY_ACCOUNT_ID_KEY
String 传递到用户信息界面的参数 KEY,值为 contact_accountId
accoutID
String 查看用户资料的用户ID context
Context Activity上下文
跳转至单聊界面
- 示例代码
XKitRouter.withKey(RouterConstant.PATH_CHAT_P2P_PAGE).withParam(RouterConstant.CHAT_KRY, userInfo).withContext(context).navigate();
-
参数说明
参数 类型 说明 RouterConstant.PATH_CHAT_P2P_PAGE
String 单聊界面的跳转地址 RouterConstant.CHAT_KRY
String 传递到单聊界面的参数 KEY,值为 chat_account
userInfo
com.netease.yunxin.kit.corekit.im.model.UserInfo 用户信息实体类 context
Context Activity 上下文
跳转至群聊界面
- 示例代码
XKitRouter.withKey(RouterConstant.PATH_CHAT_TEAM_PAGE).withParam(RouterConstant.CHAT_KRY, team).withContext(context).navigate();
-
参数说明
参数 类型 说明 RouterConstant.PATH_CHAT_TEAM_PAGE
String 群聊界面的跳转地址 RouterConstant.CHAT_KRY
String 传递到群聊界面的参数 KEY,值为 chat_account
team
Team 群组信息实体类 context
Context Activity 上下文
跳转至群聊搜索界面
- 示例代码
XKitRouter.withKey(RouterConstant.PATH_CHAT_SEARCH_PAGE).withParam(RouterConstant.CHAT_KRY,team).withContext(context).navigate())
-
参数说明
参数 类型 说明 RouterConstant.PATH_CHAT_SEARCH_PAGE
String 群聊搜索界面的跳转地址 RouterConstant.CHAT_KRY
String 传递到群聊搜索界面的参数 KEY,值为 chat_account
team
Team 群组信息实体类 context
Context Activity 上下文
跳转至群聊设置界面
- 示例代码
XKitRouter.withKey(RouterConstant.PATH_TEAM_SETTING_PAGE).withParam(RouterConstant.KEY_TEAM_ID,teamId).withContext(context).navigate())
-
参数说明
参数 类型 说明 RouterConstant.PATH_TEAM_SETTING_PAGE
String 群聊搜索界面的跳转地址 RouterConstant.KEY_TEAM_ID
String 传递到群聊设置界面的参数 KEY,值为 team_teamId
teamId
String 群组的 ID context
Context Activity 上下文
跳转至新增界面
IM UIKit 提供的路由能力,支持根据您的业务需求新增界面,并支持从其他界面跳转至新增界面。在通过路由实现跳转前,需调用registerRouter
方法注册该新增界面的路由地址。
方法原型如下:
XKitRouter.registerRouter(path, clazz)
参数 | 类型 | 说明 |
---|---|---|
path |
String | 注册界面对应的跳转地址 |
clazz |
Class<? extends Activity> | Activity 界面类 |
路由的界面注册机制采用覆盖模式,即相同的 Path
,后注册的界面会覆盖之前注册的界面。
此文档是否对你有帮助?
有帮助
我要吐槽