Articles of wifi

WiFi锁不起作用,如何防止wifi功率节省?

我做了一个应用程序,将手机变成networking摄像头,并使用手机连接将图像发送到互联网networking空间。 我正在使用广告活动,每5或15分钟设置一个“闹钟pipe理器”执行一项服务。 要执行服务的整个执行,我会执行一次唤醒locking,但是当服务完成时会中断。 所有这一切都与移动连接完美的工作,但不与wifi一样。 我已经在无线networking睡眠设置在WiFi选项策略“从不”。 但经过一段时间(并不总是相同的)手机似乎进入省电模式:WiFi图标尚未在状态栏,但手机无法连接。 即使是我使用浏览器…所以我必须断开连接并手动重新连接。 logcat中的消息: notify conn break (IOEx), close connection即使手机插上电源!!! 为什么? (1) 做一个由启动服务的活动组成的另一个应用程序,它总是以一个唤醒锁来运行。 所以我已经添加了wifilocking以确保连接,而且这种方法有时运行,而其他一些不是。 总是一样的notify conn break (IOEx), close connection为什么? (2) 最后一个实验是从第一个应用程序(报警pipe理器)派生出来的,并确保wifi没有进入睡眠/省电模式(一个??)我已经在执行代码后以飞行模式打开电话并在循环开始时closures(连接)。 这项工作可以两天,但有时只是在工作后(每个小时或两个,而不是每个5分钟,或有时不工作一整天,然后重新启动没有任何理由..)。 那么,为什么飞机模式有时不会重新build立起无线连接呢? (还有一些时候呢?)(3) 这款手机是原装2.2版的三星Galaxy ACE,并一直插上充电。

LocationManager返回带有当前时间戳的旧caching的“Wifi”位置

我正在尝试获取当前位置。 为此,我实现了一个LocationListener并为networking和GPS提供者注册它: locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locationListener); locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, locationListener); 然后阻塞30秒,然后使用传入侦听器的第一个位置 onLocationChanged() 方法精度为100米或更好。 大多数时候这工作正常。 如果手机连接到某个Wifinetworking,则需要一秒钟才能获得正确的位置,准确度大约为50米。 如果没有Wifi,但启用GPS,当然可能需要一段时间才能获得一个位置。 然而,有时连接到Wifi并获取当前位置时,会提供一些旧的(caching的)以前的“Wifi”位置 – 它可能距离当前位置15分钟和15公里。 问题是,那个 location.getTime() 返回当前时间 – 所以不可能知道该位置是旧的。 我想我必须实现一个更复杂的解决scheme – 我只想知道为什么这些旧的“Wifi”位置有一个当前的时间戳,而不是最初的检索时间。

WifiP2pManager在CreateGroup上返回BUSY状态

有时当我尝试在WifiDirect中创build一个组时,它会返回 WifiP2pManager.BUSY 消息作为失败的原因。 我不知道为什么会发生这种情况。 但是,如果我重新启动WIFI接口,它将再次工作。 这可能是什么原因? 这怎么可以避免? 有没有什么办法可以克服这个问题呢? 谢谢

我如何处理使用套接字连接到服务器的多个客户端?

我有一个Android应用程序,需要让多个设备连接。 一台设备应该作为组的所有者,向所有的客户发出指令去做具体的事情。 我想这可以和一个玩家是主机的无线掌上游戏相提并论。 我有几个问题,所以我会尽量保持简洁。 即使只是第一个答案将有所帮助。 首先,我已经成功地使用套接字将单个服务器和单个客户端电话配对。 我使用Android的Wi-Fi Direct技术做了这个( 在这里描述 )。 该教程是有用的,但不幸的是不是很彻底,特别是在描述一对多的连接。 一旦find对等列表,可以打开套接字连接。 我能够使用服务器线程连接两个设备( 使用此示例 ),如下所示: public class ServerThread implements Runnable { public void run() { (Code…) client = serverSocket.accept(); (…other code here.) } } 客户端是按下button(我想,仍然试图让我的头在我的修改后的代码): public class MusicClientThread implements Runnable { Socket socket = new Socket(serverAddr, port); while (connected) { //(Other code here.) while ((line […]

使用wifi直接连接到android设备而不提示

我试图连接两个使用WIFI直接安卓设备,我成功了。 但问题是第二个设备必须在另一个设备启动连接后接受连接提示。 这是我不想要的,我想实现。 我在堆栈溢出本身看到了一些post,说目前它不可能。 但遇到一个名为SUPERBEAM的应用程序,用户WIFI直接,但没有提示。 在谷歌search给了我从xda论坛的以下链接说 SuperBeam creates an access point using Android's WiFi direct API's. This essentially works like hotspot mode in old devices, but it is guaranteed to work on newer devices like Nexus 7. Moreover, this mode allows older devices to connect and receive files without having to support WiFi direct's peer-to-peer […]

Android:如何获得当前设备的WiFi直接名称

在P2P设置中,我了解如何获取其他设备的名称,但是如何获取自己的设备名称? (在WiFi-direct下显示的设置)。 我已经检查了WiFiManager , WiFiInfo ,但没有成功。

Android中的无线authentication错误

我正在开发一个在Android中使用Wifi的应用程序。 每当我连接到wifi时input错误的密码,我没有得到任何通知无效身份validation。 它只是不断重试连接。 在wifi无线设置中也有相同的行为。 有没有办法find无线networkingauthentication失败? WifiManager.EXTRA_SUPPLICANT_ERROR – 我从来没有得到这个..

在Android wifi热点获取wifi广播地址

我正在开发一个应用程序,使用WiFi来广播在同一个networking中有我的应用程序的所有手机之间的UDP消息。 我设法发送/接收来自许多具有外部AP的手机的数据包,这是我的路由器。 但考虑到没有AP的情况,我希望用户能够使用他们的手机的Wifi热点function,以便他们仍然可以使用我的应用程序。 所以其中一个手机将成为wifi热点,其他所有的手机都将连接到这个热点。 我要求用户连接到他们自己的WiFi。 无论是外部接入点还是上述热点。 然后,当我的应用程序启动时,它会检查手机是否连接到一个WiFinetworking,调用WifiManager.isWifiEnabled()和NetworkInfo.isConnected()。 问题是,如果我在使用热点的手机中调用这些函数,函数isConnected()将返回false。 我无法使用WifiManager.getDhcpInfo()获取广播地址。 其他手机连接到热点,他们的工作完美。 但由于WifiManager被禁用,热点手机无法发送任何广播。 所以,我的问题是:“有没有办法检查手机是否是一个wifi热点?如果是的话,有什么办法可以得到它的广播地址?

Android – 为什么ConnectivityManager.isActiveNetworkMetered总是返回true(即使在Wifi上)

在我的Android音乐stream媒体应用程序中,下面的代码path可帮助根据ConnectivityManager类实例返回的值决定高比特率stream还是低比特率stream。 我试图理解为什么ConnectivityManager.isActiveNetworkMetered()将返回“true”,当它显然我在本地Wifinetworking。 采取以下Android / Java代码: boolean isMetered = false; boolean isWifi = false; boolean isEthernet = false; boolean isRoaming = false; boolean isConnected = false; NetworkInfo netinfo = connManager.getActiveNetworkInfo(); if (netinfo != null) { isWifi = (netinfo.getType() == ConnectivityManager.TYPE_WIFI); isEthernet = (netinfo.getType() == ConnectivityManager.TYPE_ETHERNET); isRoaming = netinfo.isRoaming(); isConnected = netinfo.isConnected(); Log.d(TAG, "active network type = […]

在Android上通过bash脚本启用/禁用wifi

我试图在bash脚本中启用/禁用我的android设备中的无线设备。 我正在使用terminal仿真程序和程序脚本pipe理器在手机上执行bash脚本(这是一个根深蒂固的Nexus One)。 在linux中这样做的正常方式是类似的 ifconfig eth0 up 这给了我 "eth0: no such device" 尝试iwconfig eth0给出相同的,和 iwconfig 给出了一个没有eth0的设备列表。 现在,如果我打开wifi(手动从GUI)并键入 iwconfig 它显示了很多信息的eth0。 我的问题是:如何使用命令行打开/closureswifi? 为什么eth0在wifi被禁用时从设备列表中消失? 谢谢。