小编Daw*_*ski的帖子

NsdManager不会停止服务发现

Android我正在开发的应用程序中,我想使用连接做零配置网络NsdManager.

我设法运行网络服务发现并连接到所需的网络,但停止发现后NsdManager线程仍在运行.这导致在几次屏幕旋转之后有许多NsdManager线程正在浏览连接的情况.

在此输入图像描述

当任何网络可用时,设备会尝试多次同步,因此NsdManager尽管停止服务发现,每个网络仍处于活动状态.

贝娄是我的代码:

package dtokarzewsk.nsdservicetest;

import android.content.Context;
import android.net.nsd.NsdManager;
import android.net.nsd.NsdServiceInfo;
import android.util.Log;
import java.net.InetAddress;

public class NsdTest {
    private static final String NSD_SERVICE_NAME = "TestService";
    private static final String NSD_SERVICE_TYPE = "_http._tcp.";
    private int mPort;
    private InetAddress mHost;
    private Context mContext;
    private NsdManager mNsdManager;
    private android.net.nsd.NsdManager.DiscoveryListener mDiscoveryListener;
    private android.net.nsd.NsdManager.ResolveListener mResolveListener;

    public NsdTest(Context context) {
        mContext = context;
    }

    public void startListening() {
        initializeResolveListener();
        initializeDiscoveryListener();
        mNsdManager = (NsdManager) mContext.getSystemService(Context.NSD_SERVICE); …
Run Code Online (Sandbox Code Playgroud)

android android-lifecycle android-nsd

17
推荐指数
1
解决办法
3675
查看次数

标签 统计

android ×1

android-lifecycle ×1

android-nsd ×1