WifiP2pManager.initialize は null を返します。私は Droid 4、Android バージョン 4.0.4 を使用しており、API レベル 14 でアプリを構築しています。
...
_p2pChannel = _p2pManager.initialize(this, getMainLooper(), new 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"/>