我在使用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();
}我一直在遵循http://developer.android.com/training/connect-devices-wirelessly/nsd.html的示例代码,它们的activity构造器略有不同:
@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();
}有人能给我解释一下,为什么我的实现不能工作吗?我需要额外的功能吗?我基本上只是尝试通过创建一个服务,然后使用相同的手机再次找到该服务来设置测试此功能。到目前为止,我只实现了一个网络服务助手和活动。我是否需要设置任何附加功能。
发布于 2013-04-19 20:29:53
要使用Wi-Fi Direct,请将CHANGE_WIFI_STATE、ACCESS_WIFI_STATE和互联网权限添加到您的清单中。
<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"/>https://stackoverflow.com/questions/16104430
复制相似问题