WifiP2pManager.initialize返回null。我正在使用Droid 4(Android 4.0.4版),并使用API级别14构建了我的应用。
...
_ p2pChannel = _p2pManager.initialize(this,getMainLooper(),新的WifiP2pManager.ChannelListener(){
@Override
public void onChannelDisconnected() {
Log.e(TAG, "Peer-to-peer manager channel disconnected.");
//TODO: Manage the re-creation of the channel
_p2pChannel = null;
}
});
if (_p2pChannel == null) {
Log.e(TAG, "P2P Manager failed to initialize.");
return;
}
....
Android清单具有:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-feature
android:name="android.hardware.wifi.direct"
android:required="true"/>
我想Droid4根本不支持WiFiDirect。有人可以确认吗?它不在经过WiFiDirect认证的设备列表中:http://certifications.wi-fi.org/pdf_certificate.php?cid=WFA12854
[可能是因为您的仿真器,我遇到了这个问题,并在本地android仿真器(android studio)中朗诵了我的应用,而我的问题已解决]