Java NsdManager可以';无法使用context.getSystemService找到

Java NsdManager可以';无法使用context.getSystemService找到,java,android,network-service,Java,Android,Network Service,我在使用context.getSystemService(context.NSD_服务)时遇到问题。它只是崩溃了。代码如下: 我的网络服务发现助手: public NetworkServiceDiscoveryHelper(Context context) { mContext = context; mNetworkDiscoveryManager = (NsdManager) context.getSystemService(Context.NSD_SERVICE); } 我

我在使用context.getSystemService(context.NSD_服务)时遇到问题。它只是崩溃了。代码如下:

我的网络服务发现助手:

public NetworkServiceDiscoveryHelper(Context context)
{
    mContext = context;
    mNetworkDiscoveryManager = (NsdManager) context.getSystemService(Context.NSD_SERVICE);
}
我的活动课:

protected void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);


    mNsdHelper = new NetworkServiceDiscoveryHelper(this);
    mNsdHelper.initializeNsd();


}
我一直遵循的示例代码来自,它们的活动构造函数略有不同:

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    mStatusView = (TextView) findViewById(R.id.status);

    mUpdateHandler = new Handler() {
            @Override
        public void handleMessage(Message msg) {
            String chatLine = msg.getData().getString("msg");
            addChatLine(chatLine);
        }
    };

    mConnection = new ChatConnection(mUpdateHandler);

    mNsdHelper = new NsdHelper(this);
    mNsdHelper.initializeNsd();

}

有人能给我解释一下,为什么我的实现不起作用,我需要额外的功能吗?基本上,我只是尝试通过创建一个服务,然后使用同一部手机再次找到该服务来设置测试此功能。到目前为止,我只实现了一个网络服务助手和活动。是否需要设置任何附加功能。

要使用Wi-Fi Direct,请将更改WIFI状态、访问WIFI状态和INTERNET权限添加到您的清单中

<uses-permission
        android:required="true"
        android:name="android.permission.ACCESS_WIFI_STATE"/>
    <uses-permission
        android:required="true"
        android:name="android.permission.CHANGE_WIFI_STATE"/>
    <uses-permission
        android:required="true"
        android:name="android.permission.INTERNET"/>

底部的是唯一需要的。