diff --git a/android/src/main/java/io/openim/flutter_openim_sdk/manager/IMManager.java b/android/src/main/java/io/openim/flutter_openim_sdk/manager/IMManager.java index 78fffcd..bf2cdcc 100644 --- a/android/src/main/java/io/openim/flutter_openim_sdk/manager/IMManager.java +++ b/android/src/main/java/io/openim/flutter_openim_sdk/manager/IMManager.java @@ -20,6 +20,10 @@ public class IMManager extends BaseManager { CommonUtil.runMainThreadReturn(result, initialized); } + public void unInitSDK(MethodCall methodCall, MethodChannel.Result result) { + CommonUtil.runMainThreadReturn(result, Open_im_sdk.unInitSDK(value(methodCall, "operationID"))); + } + public void login(MethodCall methodCall, MethodChannel.Result result) { Open_im_sdk.login( new OnBaseListener(result, methodCall), diff --git a/ios/Classes/Module/IMManager.swift b/ios/Classes/Module/IMManager.swift index ab72b00..15c7414 100644 --- a/ios/Classes/Module/IMManager.swift +++ b/ios/Classes/Module/IMManager.swift @@ -8,6 +8,7 @@ public class IMMananger: BaseServiceManager { public override func registerHandlers() { super.registerHandlers() self["initSDK"] = initSDK + self["unInitSDK"] = unInitSDK self["login"] = login self["logout"] = logout self["getLoginStatus"] = getLoginStatus @@ -59,9 +60,13 @@ public class IMMananger: BaseServiceManager { } func initSDK(methodCall: FlutterMethodCall, result: @escaping FlutterResult){ - callBack(result,Open_im_sdkInitSDK(ConnListener(channel: self.channel), methodCall[string: "operationID"], methodCall.toJsonString())) + callBack(result, Open_im_sdkInitSDK(ConnListener(channel: self.channel), methodCall[string: "operationID"], methodCall.toJsonString())) addObservers() } + + func unInitSDK(methodCall: FlutterMethodCall, result: @escaping FlutterResult){ + callBack(result, Open_im_sdkUnInitSDK(methodCall[string: "operationID"])) + } func login(methodCall: FlutterMethodCall, result: @escaping FlutterResult) { Open_im_sdkLogin(BaseCallback(result: result), methodCall[string: "operationID"], methodCall[string: "userID"], methodCall[string: "token"]) diff --git a/lib/src/manager/im_manager.dart b/lib/src/manager/im_manager.dart index 6e1ed56..358f9c9 100644 --- a/lib/src/manager/im_manager.dart +++ b/lib/src/manager/im_manager.dart @@ -428,6 +428,11 @@ class IMManager { )); } + /// 反初始化SDK + Future unInitSDK() { + return _channel.invokeMethod('unInitSDK', _buildParam({})); + } + /// 登录 /// [userID] 用户id /// [token] 登录token,从业务服务器上获取