WifiP2pManager 空

WifiP2pManager null

我快疯了,我正在学习有关 Wifi 点对点的教程:

https://developer.android.com/guide/topics/connectivity/wifip2p.html

为了找到错误,我在 activity 中的 onCreate() 中尝试了很多东西,而我最后的测试就是:

WifiP2pManager manager = (WifiP2pManager) getSystemService(Context.WIFI_P2P_SERVICE);
manager.toString();

我发现我的经理总是空的。我不明白为什么,我的API的等级是正确的,而且我在网上没有发现任何关于WifiP2pManagergetSystemService的问题。我错过了什么?

AndroidManifest.xml

<uses-sdk android:minSdkVersion="14"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>
<uses-permission android:name="android.permission.INTERNET"/>

我遇到了同样的问题。每次我通过模拟器 运行 代码时,我都会收到一条错误消息,指出该对象为空,但是当我 运行 我的 Nexus(真实设备)中的代码时,没有错误,对象也不是无效的。在我看来,原因是模拟器不支持 p2p 而真实设备支持。希望我有所帮助。