Java NsdManager可以';无法使用context.getSystemService找到
我在使用context.getSystemService(context.NSD_服务)时遇到问题。它只是崩溃了。代码如下: 我的网络服务发现助手: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); } 我
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"/>
底部的是唯一需要的。