# 解决调用mdns.removeLocalService移除mdns服务报错401问题

#### 问题现象

应用中添加mdns服务之后，退出后台重新运行App，此时期望删除上次发布的serviceName时，抛出异常:code:401, name:undefined, message:Parameter error，如何解决？

#### 背景知识

mdns管理：通过对本地服务的创建，删除和解析等管理本地服务，并对指定类型的本地服务状态变化进行监听。

#### 问题定位

1.  使用mdns.addLocalService成功添加一条mdns服务，然后应用退出后台。重新打开应用，启动搜索mdns服务后，在'serviceFound'回调中可以发现此前添加的服务。
2.  再调用mdns.removeLocalService移除该服务时报错code:401, message:Parameter error。
3.  添加服务后如果不杀掉进程，直接移除是可以的。

#### 分析结论

mdns.removeLocalService只能移除注册过的服务，不能移除搜索到的服务。强行杀掉应用后不是之前注册的服务，因此移除会报错。

#### 修改建议

调用mdns.removeLocalService接口移除服务需要保持注册的应用始终存在，即要保持应用存活，不能强行销毁应用。可以在UIAbility销毁时或者在组件销毁时，调用removeLocalService主动注销服务。