android - 使用 NsdManager.DiscoveryListener 时固定时间段的服务发现

标签 android multithreading service-discovery

我正在尝试使用 Android 的 NsdManager API 实现一个用于服务发现的类。我想知道如何从主要 Activity 开始一段固定时间的服务搜索,然后停止它以使用搜索结果?

NsdManager API 表示调用应该是异步的

The API is asynchronous and responses to requests from an application are on listener callbacks on a seperate thread.

我已经成功地向类发送了一个处理程序,它使用消息响应更新我的 UI 线程,但我不确定如何在 5 秒后停止发现服务,而不用计时器阻塞主线程:S

我希望这是一个相关的问题,并且我已经提供了足够的信息。

最佳答案

你不需要使用定时器,只需要使用postDelayed(Runnable r, long millis)在您的 View 上。您可以从任何线程调用它,因此您可以从回调中调用它。

关于android - 使用 NsdManager.DiscoveryListener 时固定时间段的服务发现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12016747/

相关文章:

android - (Android) 应用程序 :actionViewClass doesn't seem to show

rest - 微服务、amqp 和服务注册/发现

java - 进程挂起我的应用程序

java - 交错并行文件读取比顺序读取慢?

c++ - 是否可以在 "reserved"cpu 内核上运行代码?

android - Wifi P2P 服务发现间歇性工作

java - 网络发现 Hyperledger 结构

android - 常量字符串参数和适用于 Android 的 Delphi XE5 编译器

Android - Google Analytics V4 异常

java - 检查第一个时间选择器是否早于第二个时间选择器