0

我想使用WiFi 直接将我的平板电脑连接到我的手机,以便将一些数据(如图片等)从我的手机发送到平板电脑。但我不希望我的手机首先发现它,即我不想使用WiFiP2pManger的discoverPeers()方法。我怎样才能实现这个目标?

4

3 回答 3

2

在您的手机中,使用 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-07-02T05:42:47.290 回答
1

为了建立 WiFi Direct 连接,两部手机都应该运行 WiFi Direct 发现。换句话说,当他们同时扫描 WiFi 直接连接时,他们会看到对方。这是因为 WiFi Direct 的工作方式是,当手机扫描 WiFi Direct 连接时,它们将与其他对等方协商接入点或从设备的角色。因此,两者都需要调用 discoverPeers()以使自己变得可发现并找到附近的设备。

在您的用例中,您甚至可以使用 wifi 热点构建您的应用程序

于 2015-06-30T19:44:59.510 回答
-2

此解决方案不起作用。在 Android 中,两者都需要处于发现模式才能连接。

于 2018-10-10T10:29:48.927 回答