问题标签 [wifip2p]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 寻找与 Android 的 Miracast 连接
我正在尝试构建一个扫描本地 Miracast 连接并连接到它们以自动镜像屏幕的 Android 应用程序。我还希望能够保存用户之前已经连接过的连接并给他们起昵称,这样用户就可以更容易地识别它们。我几乎没有任何 Android 开发经验,但我在 Java 和其他语言方面有多年经验。
现在,我遇到的问题是当我尝试在 MainActivity 的 OnCreate 方法中设置适配器时,我的 ListView 返回一个空指针异常。
MainActivity.java
连接适配器.java
activity_main.xml
所以整个项目基本上变成了我试图将来自互联网的各种示例代码粘贴在一起。我真的可以使用一些帮助。我正在尝试使用 Google 的 Android 开发页面,但我并不总是知道将他们的代码片段放在哪里。我试图创建自己的 Connection 类,它将 WifiP2pDevice 与昵称和其他数据一起保存在数组列表中,但由于某种原因我无法让它工作。所以现在我的首要任务是让程序运行并找到连接。据我所知,我确实完成了 GUI。我可能需要改变它或其他东西。这不是我的全部代码。如果我全部发布,这个问题将是巨大的。大声笑如果你想看到这一切,让我知道。
java - 将广播接收器类中的值传递给 wifi direct 中的主要活动
我想将 WiFiDirectBroadcastReceiver 中的字符串变量 result 中的值发送到 WiFiDirectActivity ,我尝试这样做,如图所示。
但是当我运行应用程序时,它一直在寻找对等点。当我评论那些添加的行(WiFiDirectBroadcastReceiver 的最后 3 行)时,它工作正常。
添加了 WiFiDirectBroadcastReceiver 中的onReceive函数代码和 WiFiDirectActivity 中的onResume()代码。
如何将该值传递给 WiFiDirectActivity?我在这里想念什么?
WiFiDirectBroadcastReceiver.java
WiFiDirectActivity.java
android - 如何更改 WiFi 直连 p2p 中的设备名称?
是否可以通过代码直接更改WiFi的设备名称?我试图:
但是,显然它不起作用。任何想法?!
android - WiFi 直接连接即服务
我正在做一个安卓项目。我正在使用 wifi direct 来建立两个模块之间的通信。我的疑问是,在使用 wifi 直接连接到另一台设备时,会出现一个对话框提示是否连接到该设备。我想避免那个提示,它应该被连接,因为它标识了一个 wifi 模块。据我了解,它应该作为后台服务工作。我是android编程的初学者,请帮我解决这个问题。
谢谢米顿
android - WiFi Direct 设备与其他 Android 设备的连接
我可以将启用 WiFi Direct 的设备连接到没有 WiFi Direct 功能但支持 WiFi 热点连接的任何其他设备吗?WiFi 直连是否使用专用硬件同时存在于两个设备上?在这种情况下,网络发现会起作用吗?
android - Java服务器套接字不接受通过系留连接的连接
我使用标准 Java 套接字为 android 编写了一个小文件传输程序。除以下情况外,该程序运行良好:我通过 WiFi 网络共享连接连接了两个 android 设备 A 和 B。设备 A 正在共享连接(启用为无线热点)。当我在 A 上运行 java 服务器并在 B 上运行客户端时,程序运行正常,但是当我在设备 B 上运行服务器时,它无法接受来自 A 的任何套接字绑定请求。它不会引发任何异常。似乎请求没有到达服务器!但是,两个设备都已连接(双向 ping 测试都可以)。我不能在作为热点客户端连接的设备上运行套接字服务器吗?我认为一旦网络设置正确,该应用程序将在任何方向上工作。此外,Wireshark 的痕迹什么也没有显示。我在这里想念什么?请帮忙!
服务器端(等待客户端连接):
我将不胜感激任何帮助!提前致谢。
android - 如何使用 Wifi Direct(Wi-Fi 点对点 Wifi P2P)和 Genymotion 运行 android 应用程序?
我看到很多关于在模拟器上为 android 运行 Wifi Direct 应用程序的问题,但目前看来这是不可能的。然后我最好的选择是通过 GenyMotion VM 运行它,希望我可以通过这种方式对其进行测试,因为我目前手头没有 2 台设备。
我已经安装了它,安装了几个具有不同版本的 Android 和配置的平台,但是当我导航到 Wifi 菜单时,没有一个 Wifi-Direct 选项可见。这是一个已知问题还是我错过了什么?
java - WifiP2pManager discoverPeers ActionListener 返回 Busy
我正在使用 WifiP2pManager 类来启动 Peers 的发现,如下所述:http: //developer.android.com/training/connect-devices-wireless/wifi-direct.html
部分代码如下:
碰巧我onSuccess
接到电话(基于 JellyBean),但用于测试运行 Android 4.1.2 IceCream 三明治的联想 A2107A 平板电脑刚刚得到onFailure
原因代码等于 2(忙碌)的位置:http:
//developer.android.com/reference /android/net/wifi/p2p/WifiP2pManager.ActionListener.html
我注意到在手机的 Wifi 设置中显示了 WifiDirect 发现列表选项,但在平板电脑中没有执行此操作的选项,尽管操作系统版本 4.x 应该支持它,至少以编程方式(我测试了 ShareIt App 和平板电脑可以通过 WiFi 传输文件)。
这里提出了一个类似的问题:为什么我在使用 WifiP2pManager 时总是很忙?但没有接受的答案。
在平板电脑上使用此 API 方法时,我能做些什么来避免始终处于忙碌状态?谢谢!
android - WiFi直聊群主
我试图在android中直接与wifi聊天。但我有一些问题。假设一个房间里有 10 台设备。为了使它交流,我必须有 1 个组所有者和 9 个客户,对吗?那么,如果我是客户,我如何找到群主与他建立联系?我怎么知道房间里有没有群主?我试图建立连接,但我已经制作了通信 3 设备,但是是手动的。我想在一个房间里找到一个群主并连接到它。我还尝试在“GroupOwner”中重命名设备,但不可能。
android - 从 IntentService 中创建的 Wi-Fi Direct Channel 清除本地服务
长篇大论致歉:
我正在实现一个 android SDK,它需要无线发送数据,而无需在后台作业中与附近的“集线器”(我控制)配对。我正在使用 Wi-Fi Direct P2P 服务发现并将我的数据存储为集线器获取和处理的 DNS 记录中的条目。我需要发出它的值存储在共享首选项实例中,因为它被两个按计划运行的服务更改。
目前,我有在IntentService
. 它从它的意图中获得它应该宣传的价值:
并且该服务被添加到框架中(我知道这是可行的,因为我可以在我的集线器上接收记录)。
当值发生变化时,问题就来了。我不能简单地启动该服务的另一个实例,因为原始通道在第一个通道上仍处于打开状态,因此我的集线器将找到两条记录(每个设备都应该用一条记录宣传我的服务的一个实例)。我无法再清除mChannel
,因为第一个IntentService
已经退出/死亡。服务存在后通道仍然存在(p2p 框架仍然看到广告)。
我尝试/考虑的几件事:
BroadcastReceiver
向每个将在值更新时收到通知的实例添加一个IntentService
,以适当地杀死自己(调用mChannel.clearLocalServices()
)并启动新服务,或者通过在同一通道上清除和读取服务来更新原始实例中的值- 不起作用,因为服务在之后死亡
discoverServices()
,接收者没有被调用
- 不起作用,因为服务在之后死亡
- 前台服务 - 需要在后台运行,独立于 UI,并且用户不知道。不想挂断主线程。
简而言之,我需要一种有效的方法来无限期地延长后台服务的生命周期,并且仍然能够响应广播(所以不确定是否Thread.sleep
可行),存储mChannel
下次值更改时可以拾取的地方,或完全使用不同的设计(服务除外)。