我想连接我的平板电脑到我的手机使用,WiFi,直接,以便发送一些数据,如图片等从我的手机到平板电脑。但是我不想让我的手机首先发现它,也就是说我不想使用discoverPeers()的WiFiP2pManger.方法我怎样才能达到这个目标呢?
发布于 2015-07-02 05:42:47
在您的手机中,使用createGroups()。这使你的手机成为groupOwner。然后在平板电脑中打电话给discoverPeers(),它会发现你的手机没有打电话discoverPeers()。
在你的手机里:
wifiP2pManager = (WifiP2pManager) context.getSystemService(context.WIFI_P2P_SERVICE);
channel=wifiP2pManager.initialize(context,context.getMainLooper(),null);
wifiP2pManager.createGroup(channel, new WifiP2pManager.ActionListener() {
@Override
public void onSuccess() {
Log.i(TAG,"Creating p2p group");
}
@Override
public void onFailure(int i) {
Log.i(TAG,"Creating group failed, error code:"+i);
}
});在您的平板电脑中,发现对等点,请求对等点,并正常地连接对等点。
发布于 2015-06-30 19:44:59
为了建立一个WiFi直接连接,两部手机都应该运行WiFi直接发现。换句话说,当它们同时扫描WiFi直接连接时,它们就会看到对方。这是因为WiFi直接的工作方式是,当手机扫描WiFi直接连接时,他们将与其他对等方就接入点或从设备的角色进行协商。因此,需要调用discoverPeers()才能自己发现并找到附近的设备。
在您的用例中,甚至可以使用wifi hotspot构建应用程序。
发布于 2018-10-10 10:29:48
这个解决方案行不通。在Android系统中,为了连接,两者都需要处于发现模式。
https://stackoverflow.com/questions/31136619
复制相似问题