Articles of wifi direct

Android Wi-Fi Direct读取rssi信号强度

我需要测量两部Android手机之间的Wi-Fi Direct信号(RSSI信号)。 我怎么能这样做?

将iPhone连接到Android的Wifi Direct软AP

我知道Wifi Direct可以通过在其中一个设备中创建一个Soft AP(软件访问点)来工作。 我也知道很多Androids都支持Wifi Direct,但iPhone却没有。 我的问题是:是否有可能创建一个设备到设备的WiFi链接,在Android端是Wifi Direct,但iPhone端的常规wifi? Android的Wifi Direct会呈现一个软AP,iPhone看起来与常规AP无法区分,并能够与之关联。 想象一下,这是在没有路由器AP可用的荒野中。 此外,两个用户都没有绑定计划。 此类链接将由类似Bump的应用程序用于传输文件。

如何估计两个Android设备之间的距离? (蓝牙首选)

目标不是真正的距离。 这更简单。 目标是检查另一台设备是否非常接近 。 对或错。 假设10或15厘米是关闭的,所以我们的检查是正确的,并且任何远离检查的设备都是错误的。 我的第一种方法是使用api的方法fetchUuidsWithSdp()但它失败了! 无论是在几个cms之外还是在大房间另一端的设备,延迟似乎都是一样的! 任何解决方案即使没有蓝牙也是可以接受 例如,我完全不熟悉wifi直接p2p协议。 也许有一些东西可以用来粗略估计距离。 编辑:我正在阅读有关接收信号强度指示器( RSSI )的信息。 这可以用于我们的特定情况,粗略估计设备之间的距离。 但也许可能有某些东西需要结合才能提高准确性。 编辑:我把Ralgha的答案放到测试中。 我确实建立了一个连接,并且有一个小的协议来在设备之间进行乒乓 。 当1字节平均延迟时非常接近时为22.6000毫秒,而在房间的另一角时则为22.6087毫秒。 当ping为1024字节时,平均延迟在非常接近时为40.3173毫秒,在房间的另一角时为32.3138毫秒。 毕竟, 延迟确实没有任何关于距离的信息 ! 谢谢!

通过Wi-Fi Direct进行广播

我正在考虑通过多个Android设备之间的Wi-Fi Direct连接进行广播的可能性。 我创建了一个简单的消息广播应用程序来测试它是否有效,但到目前为止我还没有能够广播消息。 当我尝试发送数据包时,我得到一个SocketException (网络无法访问): 03-20 13:23:00.148: E/UdpBroadcaster(4180): sendto failed: ENETUNREACH (Network is unreachable) 03-20 13:23:00.148: E/UdpBroadcaster(4180): java.net.SocketException: sendto failed: ENETUNREACH (Network is unreachable) 03-20 13:23:00.148: E/UdpBroadcaster(4180): at libcore.io.IoBridge.maybeThrowAfterSendto(IoBridge.java:496) 03-20 13:23:00.148: E/UdpBroadcaster(4180): at libcore.io.IoBridge.sendto(IoBridge.java:465) 03-20 13:23:00.148: E/UdpBroadcaster(4180): at java.net.PlainDatagramSocketImpl.send(PlainDatagramSocketImpl.java:182) 03-20 13:23:00.148: E/UdpBroadcaster(4180): at java.net.DatagramSocket.send(DatagramSocket.java:307) 03-20 13:23:00.148: E/UdpBroadcaster(4180): at com.example.android.wifidirect.UdpBroadcaster.sendMessage(UdpBroadcaster.java:59) 03-20 13:23:00.148: E/UdpBroadcaster(4180): at com.example.android.wifidirect.UdpBroadcaster.run(UdpBroadcaster.java:44) 03-20 […]

Android iOS直接通信(蓝牙)。 可能吗?

首先,我是一名Android开发人员,因此问题是所有iOS开发人员。 是否有可能实现Android iPhone / iPad 直接通信 ? 有些人声称这是不可能的,其他人声称是这样。 我猜两种可能的技术是蓝牙和/或Wi-Fi Direct。 不建议使用Wi-Fi Direct,因为Gingerbread不支持它,据我所知,它也不支持iPhone (可能是iPhone 6,因为我从谣言中听说过) 已经知道使用GameKit在iOS设备之间实现蓝牙通信,这里是参考 。 我不明白与GameKit沟通时有什么特别之处 ? 消息的开头和结尾是否以某种方式包含额外的字节? 好的,我们可以在Android中以相同的方式包装消息! 消息加密了吗?!! 如果是这样,我们可以在Android设备收到它们时对它们进行解密吗? 任何想法,变通方法或其他黑客解决方案都是最受欢迎的!

Android Wifi Direct:连接到已知对等端时,避免用户接受

使用WiFi Direct连接到对等端时,需要用户的许可。 我知道如果没有用户永远不会给予许可,就无法建立连接,并且有针对此类function的function请求: https : //code.google.com/p/android/issues/detail?id = 30880 但是我不需要这个function,在第一个连接上请求权限就可以了(也更安全)。 有没有任何方法只允许第一次获得许可? 当稍后尝试连接到同一个对等体时,不需要该权限。

如何更改WiFi直接p2p的设备名称?

是否可以通过代码直接更改WiFi的设备名称? 我试图: private WifiP2pDevice wDevice; wDevice.deviceName = "newName"; 但是,显然这是行不通的。 任何想法?!

如何使用Wi-Fi Direct在Android设备之间传输文件?

我需要使用Wi-Fi Direct在Android设备之间传输文件。 请给出任何示例代码。 我search了很多,但我还没有find任何双向沟通的代码。

是否有可能从程序中删除记忆的Wifi Direct组?

我们已经注意到,当一个Wifi Direct组被一个设备记住时,它有时会在设备稍后重新连接时导致问题。 删除记忆的小组似乎解决了这个问题。 如果我们可以在应用程序中这样做,这将是很好的,这是可能的吗? 只需调用WifiP2pManager.removeGroup()不会停止设备记住它们。

如何find通过Android的WiFi直接模式传输的文件的文件名?

您好,我的最终目的是在两台设备之间使用WiFi直接API传输文件。 一旦设备作为一个客户端另一个作为一个服务器在WiFi直接SDK演示。 为此,使用服务器端口和主机地址从客户端创build套接字。 我想传输多个文件。 在接收端,在接受客户端套接字连接的时候,我不得不用客户端发送的文件的文件名来创build这个文件。 但是我不知道服务器端的文件名。 那么如何使用socket连接发送文件名为这个wifi直接传输模式进行多文件传输。 使用服务器端口和主机地址从客户端创build套接字: fileUris = intent.getExtras().getParcelableArrayList(EXTRA_STREAM); String host = intent.getExtras().getString( EXTRAS_GROUP_OWNER_ADDRESS); Socket socket = new Socket(); int port = intent.getExtras().getInt(EXTRAS_GROUP_OWNER_PORT); try { Log.d(WifiDirectActivity.TAG, "Opening client socket – "); socket.bind(null); socket.connect((new InetSocketAddress(host, port)), SOCKET_TIMEOUT); Log.d(WifiDirectActivity.TAG, "Client socket – " + socket.isConnected()); OutputStream stream = socket.getOutputStream(); ContentResolver cr = context.getContentResolver(); InputStream is […]