将在同一本地网络Wi-Fi上连接的设备之间通信的应用程序
因此,只有当它连接到同一本地网络时,就需要一个应用程序在设备之间进行通信的要求. 例如:设备A和设备B已连接到Wi-Fi网络Z.该应用程序将允许两个设备在彼此之间进行通信(发送消息/视频) 我一直在研究过去几天,但无法清楚我到目前为止发现的东西. (我对NSDManager,Wifip2PManager等感到困惑. 我只需要在遵循哪种概念/方法之间进行确认.请帮助. 解决方案 根据我的个人经验,Wifip2pmanager应该做您想做的事.我已经用它来连接通过同一WiFi网络连接两个设备.它还允许您的设备查看网络上的所有其他设备,并使您可以连接到它们.连接到设备后,您可以通过WiFi网络发送消息. 它还说明了如何查看网络上的设备,如何与它们连接以及如何传输数据.这应该适合您要求的要求. 您可以使用NSD,但是根据文档主要用于使您的应用程序访问本地网络上其他设备提供的服务.它可以通过请求服务来与其他设备进行文件共享. 搜索后,我得出结论, wifi Dir
8 2023-05-16
编程技术问答社区
在Android上用Wi-Fi创建P2P连接
因此,我正在尝试在Android上创建P2P连接工作. 而且我被困在以下一部分.下面的代码是API上提供的,对我来说没有意义.我觉得Mmanager必须有一种类型,并且没有给出类型. 我如何完成此工作? 链接到API: http://developer..android.com/training.and.android.com/training/training/connect-devices - 无/wifi-direct.html @Override Channel mChannel; public void onCreate(Bundle savedInstanceState) { .... mManager = (WifiP2pManager) getSystemService(Context.WIFI_P2P_SERVICE); mChannel = mManager.initialize(this, getMainLooper(), nu
2 2023-05-16
编程技术问答社区
使用Wi-Fi创建P2P连接:消息传递问题
我正在使用WiFi P2P连接,以使用以下教程在两个Android设备之间发送和接收消息 它正在努力识别附近的设备并与附近的peer连接.但是在服务器和客户端之间的连接成功之后,客户端peer在该服务器对等式无法将消息发送给客户端对等后,成功地发送给服务器对等.它给出以下例外 04-14 12:31:27.740: E/test(6037): SERVER to CLIENT message sending exception: bind failed: EADDRINUSE (Address already in use) 请帮助查找我的代码有什么问题 这是我的MainActivity.java import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStream; import java.io.
6 2023-05-16
编程技术问答社区
WiFi Direct状态
是否可以专门检查WiFi Direct是否打开还是关闭? 我编写了一个代码,该代码只能更新WiFi状态,无论它是否连接,无论是访问点还是WiFi Direct ConnectivityManager connManager = (ConnectivityManager) getActivity().getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo mWifi = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI); if (mWifi.isConnected()) { } if (!mWifi.isConnected()) { } 我想专
0 2023-05-16
编程技术问答社区
是否可以连接两个或更多的WiFi Direct组?
我目前正在使用WiFi-Direct(WIFIP2P)进行我正在从事的项目,并想知道是否可以在组之间创建桥梁,从而将它们连接在一起? 基于白皮书由Wifi 联盟,应该有可能(尽管" P2P规范没有描述此功能的机制 - 实施是特定于供应商的").我已经浏览了互联网并找到了一些答案( this , this 等),但我觉得没有一个特别结论.看着Andoid的API也没有多大帮助. 我要创建的情况是将一个客户端从一个组连接到另一组.给定4个设备(a,b,c,d),其中A和B在一个小组中,有一个组所有者,C和D在由D: 管理的组中 c连接到A.因此,有2组与C充当桥梁. 这是可能的吗? /FILES/wp_wi-fi_direct_201025_industry.pdf client/peer wi-fi with wi-fi with wi-fi with wi-fi直接在android上 解决方案 请参阅此 link .根据此链接,当C连接到A时,它不再
4 2023-05-16
编程技术问答社区
有什么方法可以在已知的SSIS wifi网络进入/离开范围时得到通知?
我想编写一个应用程序,该应用程序包括在已知的WiFi网络进出范围时. . 例如,假设我的家WiFi网络的SSIS是" Wifihome",我想通知"您刚离开家!"每当设备无法检测到此特定网络时. (或替代 - "您刚刚进入家中",当设备重新检测此网络的信号时). 我的问题是: 是否可以在不经常轮询可用网络列表的情况下聆听这些更改? 解决方案 您应该听广播活动.每次Wi-Fi扫描完成时,都会发送此信息.发生这种事件时,只需重新观看扫描结果,可以通过WiFimanager的当Wi-Fi处于活动状态时,您将每隔几秒钟收到一次广播.但是没有办法配置此间隔,我的猜测是每个制造商可能会更改此间隔. 您可以使用wifimanager的 startScan .
4 2023-04-27
编程技术问答社区
通过NFC标签分享Wifi凭证,无需特殊应用
我正在寻找一种创建NFC标签的方法,该NFC标签可以共享网络的WiFi凭据,而我的客人必须在手机上拥有任何特殊的NFC应用程序(手机随之而来的是什么). 我一直在研究NFC标签作者,Wifitap,NFC Task Launcher和NFClabels.com等应用程序和服务,但在我看来,我也需要在Guest Mobile上使用这些应用程序才能使用它,以便能够使用它,但是我无法测试它,因为我只有一部启用NFC的手机. (是的,我知道,一无所获,但怪异的行为并不是什么新鲜事...) 我最接近的线索是WiFitap指出: 应用程序以wifi的格式://[网络ssid]/[wep | wpa | open]/[网络键] 如果这实际上是普遍的,这意味着我可以做自己想做的事,但是我还没有发现任何确认.那么,我想做什么,我在Wifitap的线索上正确的轨道? 解决方案 有针对这种情况的官方标准: nfc规格.但是,这目前不受Android的支持.我认为目前没有任何方法可以在
16 2023-04-22
编程技术问答社区
安卓6.0.1系统在没有互联网的情况下强制连接wifi
这有许多类似的问题(Google for:"未检测到Internet访问.不会自动重新连接. 我以为我有一个答案在这里,但是安装6.0.1更新后它停止工作(我有5月1日安全补丁). 似乎这是一个行为改变. P> 我有一些2013年Nexus 7,其中6.0.1运行了售货亭类型应用程序,并希望以编程方式连接到没有Internet连接的特定无线网络.每个平板电脑具有形式的唯一静态IP地址:192.168.0.xx.我使用普通的Java套接字构造函数,然后检查接口是否启动:NetworkInterface.getNetworkInterfaces(). 已经建立了手动连接.有时会有一个对话框询问您是否要始终连接.我总是检查是. 但wifi说:"未检测到Internet访问.路由器循环电源后不会自动重新连接". 进行断开,启用,重新连接不起作用.最多得到:ip6-localhost/:: 1. 有人使用请求对象或bindprocesstonetwork有运气吗?
8 2023-04-21
编程技术问答社区
通过wifi的视频流?
如何在不使用任何应用程序的情况下将视频从Android智能手机传输到笔记本电脑(Windows 7)?有什么建议么?简短的解释确实会有所帮助.而且,我的意思是"流"而不是文件传输. 解决方案 如果不使用任何应用程序,您将无法使用此功能,您需要做的是编程将视频发送到通过WiFi连接的服务器的套接字客户端. > 其他解决方案 转到以下链接. https://code.google.com/p/spydroid-ipcamera/ 您将获得WiFi流媒体的完整源代码,您可以在笔记本电脑的浏览器以及VLC Media Player(RTSP)上看到这些代码.而且,您也可以使用VLC插件在另一台移动/平板电脑中看到
8 2023-04-21
编程技术问答社区
安卓。建立与联网设备的 "Wi-Fi Direct "连接
正在通过 android文档 P> 在Android 4.0+中使用" Wi-Fi Direct",是否可以建立 通过非" Wi-Fi Direct"启用网络设备务实地连接? 例如,是否可以与最新的4.1 Android智能手机与较旧的智能手机(拥有Android 2.2 OS)进行通信.我想使用Wi-Fi Direct能力来对各种智能手机(Android,iOS)进行FTP操作 谢谢. 解决方案 我正在使用一个名为filedrop的应用程序,我认为它具有您正在寻找的类似功能集. 这就是它的工作方式: 基于4.1的电话将开始并生成Wi-Fi密码,以允许旧的电话使用Legacy Wi-Fi,就像连接到Wi-Fi访问点一样.您也可以使用QR扫描而不是密码的手动键入. 我希望您可以从中获得示例代码. 对不起,没有真正的帮助.
18 2023-04-21
编程技术问答社区
安卓的纯扫描模式是如何工作的?
Android 4.3添加了新的"软件"功能,即使WiFi已关闭,也可以保持WiFi获取结果.它说这种模式消耗了非常低的功率. 我的问题是,这在技术上是如何做到的,与仅启用wifi相比,节省了多少力量? 解决方案 逻辑很简单:驱动程序和wpa_supplicant永远不会从内存中卸载,除非通过 scanning在WiFi Advanced菜单中禁用选项.选项. 在功耗方面 - 每个WiFi解决方案的数字都会有所不同,但是根据我的经验(过去4年成为Android OEM之一的WiFi工程师),差异很小.以下是一些平均消费数的示例: 电话醒了,wifi禁用:〜220mA(取决于许多因素,只是一个例子) 电话睡觉,wifi禁用:〜5ma 电话睡觉,启用WiFi(当然,也适用于仅扫描模式): +5ma 因此,如果您是活跃的用户,则仅扫描就不会为您节省大量功率.另一方面,如果电话使用有些被动,则关闭此选项可能会延长电池寿命. 就我个人而言,我会继续使用此选
4 2023-04-21
编程技术问答社区
评估连接速度的最佳方法
我正在开发一个应用程序,该应用需要通过流播放现场流来获取音乐文件. 在请求歌曲API中,我可以指定频段(例如:50kbps,100kbps,300,600或1 Mbps). 频段越大,文件就会有时间被获取.因为我不希望用户受到限制,我有多种选择可以处理: 检测电话是否使用3G,WiFi或Edge,并为每个连接速度指定一个频段. 让用户决定他将获得的歌曲的质量:就像YouTube一样(但是用户不会是对计算的了解太多的人:软件越容易,越适合它) 有一种方法可以正确评估连接速度:就像获取文件一样,测量所花费的时间并设置频段. 我知道,如果用户松开WiFi或使用3G在街上移动的连接速度可能会有很大差异.事情是,当歌曲播放时,我无法更改带宽. 也许您有关于分享的经验? 谢谢! 解决方案 Facebook发布了一个库: https://github.com/facebook/network-connection-class 这不是在
10 2023-04-21
编程技术问答社区
安卓-强制网络请求通过wifi而非移动网络进行
我有一个连接到硬件设备Wi-Fi热点的应用程序. 看来Android向其他网络(例如3G/4G)而不是热点上的Android Exprance请求,因为我的热点没有Internet连接. 有什么办法强制网络流在WiFi上工作? 我遇到了以下功能,但已弃用: net/connectivitionmanager.html#setnetworkpreference(int) 解决方案 per 将应用程序连接到Wi-Fi设备博客文章: 要将所有网络请求从您的应用程序引导到外部Wi-Fi设备,请致电ConnectivityManager#setProcessDefaultNetwork on Lollipop devices, and on Marshmallow call connectivitionManager#bindprocesstonetwork 而不是直接的API替换. 其他解决方案 使用ConnectivitionManager获取WiFi适配器的状态,
18 2023-04-21
编程技术问答社区
当试图使用Calimero Java库通过WiFi连接时,"android.os.NetworkOnMainThreadException"。
我正在使用开源Java库(Calimero)使用Android应用程序.当我尝试通过wifi连接到knxnet/ip路由器时,我的代码会抛出一个ERRO. 在这里问题代码: private static KNXNetworkLinkIP connect(InetSocketAddress isaLocalEP, InetSocketAddress isaRemoteEP) { KNXNetworkLinkIP netLinkIp = null; int serviceMode = KNXNetworkLinkIP.TUNNEL; // tunnel to IP router boolean useNAT = true; // NAT not used for PC true or false , but needed for emulator = true KNXMediumSettings tpSettings = new TPSett
14 2023-04-21
编程技术问答社区
如何处理wifi和移动数据之间的网络变化?
我正在构建VoIP应用程序.在用户在WiFi之间切换到移动数据之间的VoIP调用我在处理该方案时遇到问题. 在我的呼叫屏幕活动中,我已经注册了接收器,这可以帮助我通知网络更改方案. 这是我正在使用的代码来检测Onectiage方法中网络的变化. conn_name是私有类级变量保存先前的连接名称. ConnectivityManager connectivity_mgr = ((ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE)); NetworkInfo net_info = connectivity_mgr.getActiveNetworkInfo(); if (net_info != null && net_info.isConnectedOrConnecting() && !conn_name.equalsIgnoreCase("")) { new_co
通过android.net.NetworkCapabilities的互联网检查不工作
我有一个关于android.net.NetworkCapabilities.NET_CAPABILITY_INTERNET的问题.根据Javadocs的说法,这"表明该网络应该能够到达Internet". 不幸的是,这似乎无法正常工作 - 或者我在这里做错了什么.我输出了三个不同Wi-Fi网络的功能值: 带有互联网访问的Wi-Fi. 无互联网访问的无线网络(我在这里手动禁用Internet). 公共热点(" Telekom"热点) 在所有三种情况下,功能值为[ Transports: WIFI Capabilities: INTERNET&NOT_RESTRICTED&TRUSTED&NOT_VPN LinkUpBandwidth>=1048576Kbps LinkDnBandwidth>=1048576Kbps]. 这是我的代码: ConnectivityManager connectivityManager = (ConnectivityMa
10 2023-04-21
编程技术问答社区
检测3G或Wifi网络的恢复情况
是否可以实现phonEstateListener(或任何其他机制)来检测3G或WiFi网络连接的何时恢复? 我在API的摘要中看到了lister_data_connection_state_state和listing_data_activity say(cellular).这仅意味着3G? 谢谢 解决方案 更好的方法是使用android.net.connectivityManager类.注册接收器并监视广播. private class ConnectionMonitor extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { String action = intent.getAction(); if (!action.equals(ConnectivityManager.CONN
6 2023-04-21
编程技术问答社区
以编程方式获取wifi/移动网络的数据速度
我如何在应用程序中以编程方式获取WiFi/移动网络的数据速度. 解决方案 这是获得WiFi速度的代码: WifiManager wifiManager = getApplicationContext().getSystemService(Context.WIFI_SERVICE); WifiInfo wifiInfo = wifiManager.getConnectionInfo(); if (wifiInfo != null) { Integer linkSpeed = wifiInfo.getLinkSpeed(); //measured using WifiInfo.LINK_SPEED_UNITS } 有关移动网络速度,请参阅以下链接: http://www.gregbugaj.com/?p=47
4 2023-04-21
编程技术问答社区
安卓系统获得提供热点的设备的IP地址
我目前正在使用 public static String getLocalIPAddress(WifiManager wm){ return Formatter.formatIpAddress(wm.getConnectionInfo().getIpAddress()); } 获取执行设备的IP地址.如果设备连接到"通用" WLAN网络以及该设备连接到WiFi网络,该设备通过Hotspot连接到WiFi网络.如果设备未连接到任何WiFi网络" 0.0.0.0"(正确).但是,如果设备通过提供热点来托管WiFi网络,则Methode仍将返回" 0.0.0.0".如何获得"在其自己的wifi-network"中提供设备的热点的真实IP地址? thx&warks 解决方案 您几乎是对的,热点的默认IP地址是192.168.43.1(如果设备制造商不更改.) 您可以检查Android Framework(AOSP)的源代码. /frameworks/b
10 2023-04-21
编程技术问答社区
当WIFI开启时,通过移动数据发送请求(Android L).
SDK:Android 5.0.1. android构建:lrx22c. 设备:Nexus 5. 问题: Kitkat(4.4.4)和API的下方 1)startUsingNetworkFeature(int networkType, String feature) 此方法被弃用.对清洁剂requestNetwork(NetworkRequest, ConnectivityManager.NetworkCallback). 弃用 2)requestRouteToHost(int networkType, int hostAddress) 此方法被弃用.对requestNetwork(NetworkRequest, ConnectivityManager.NetworkCallback),setProcessDefaultNetwork(Network)和getSocketFactory()的弃用. 在WiFi和移动数据打开时,用于通过移动数据网络发送请求.
10 2023-04-21
编程技术问答社区