Articles of wifi

Android:在Android设备上检查3G或Wifi网络是否开启或可用

如何以编程方式在Android设备上检查该网络是否可用,当我们尝试连接Wifi和3G等网络时,它会抛出消息或Toast消息。

用户/开发人员如何为版本2.x设置Android的代理配置?

我想知道用户或开发人员是否可以在Android版本2.x中设置Wi-Fi接入点代理设置(我知道可以将3.x或更高版本的AP配置编辑到无线设置),以便通过以下方式从代码中获取设置: ProxySelector defaultProxySelector = ProxySelector.getDefault(); List proxyList = defaultProxySelector.select(“http://www.google.it”); (这应该是获取Android设备当前代理配置的正确方法 ) 我知道Android源代码中有一个隐藏的Activity,叫做ProxySelector (请注意,它与java.net.ProxySelector名称相同,但它是一个Android Activity,它位于包中: com.android.settings.ProxySelector )但它设置了类似于全局代理配置的东西,它似乎被默认的ProxySelector类忽略。 这个问题是因为对于Android 3.x或更高版本来说,使用java.net.ProxySelector的标准方式似乎没有问题,但不适用于Android 2.x版本。 这是改变了的行为还是我做错了什么? 我们是否应该使用Android 2.x版本的全局代理设置? 顺便说一句,我们可以通过以下方式读取全局代理设置: Settings.Secure.getString(getApplicationContext().getContentResolver(),Settings.Secure.HTTP_PROXY);

Android应用程序Wi-Fi设备 – AP连接

我正在构建一个可以在移动设备和Wi-Fi设备之间传输数据的应用程序……移动设备已启用AP (通过代码),另一台设备连接到此特定网络…如何通过代码检测到查看连接到网络(AP)的设备的详细信息?**是否有解决方案? 我在HTC Desire中看到了一个名为Wifi Hot spot的应用程序,它具有显示连接到网络的设备的IP地址的function。 怎么能实现这一目标? 查看评论:HTC EVO 4G上的Sprint Mobile Hotspot 。 它显示了一个可以实际显示已连接用户的应用程序。 我们怎么能以编程方式做到这一点? 那有API吗? 用于创建接入点: private void createWifiAccessPoint() { if (wifiManager.isWifiEnabled()) { wifiManager.setWifiEnabled(false); } Method[] wmMethods = wifiManager.getClass().getDeclaredMethods(); //Get all declared methods in WifiManager class boolean methodFound = false; for (Method method: wmMethods){ if (method.getName().equals(“setWifiApEnabled”)){ methodFound = true; WifiConfiguration netConfig = new WifiConfiguration(); […]

Android设备上的强制门户网站

我使用我的Android设备作为移动Web服务器。 我想将通过我的便携式Android热点连接的每个用户定向到特定的wellcome页面。 有人知道如何在我的设备中实现这种技术(我相信这被称为强制门户技术)?

Android ::如何断开与wifi网络的连接?

我用Google搜索并发现很多网站都在说“禁用无线广播”。 但在我的情况下,我只是希望Android设备断开与特定的WiFi网络(SSID预知),而无需关闭WiFi无线电。 请给我一些关于这个问题的见解

检查Android的有效互联网连接

我正在尝试在我的应用程序中编写一个部分,以区分活动Wifi连接和实际连接到Internet。 使用连接管理器查明是否存在活动的Wifi连接非常简单但是每当我尝试测试是否可以在连接Wifi时连接到网站但没有互联网连接时我最终会进入无限循环。 我试图ping谷歌然而这最终以同样的方式: Process p1 = java.lang.Runtime.getRuntime().exec(“ping -c 1 www.google.com”); int returnVal = 5; try { returnVal = p1.waitFor(); } catch (InterruptedException e) { e.printStackTrace(); } boolean reachable = (returnVal==0); return reachable; 我也试过这段代码: if (InetAddress.getByName(“www.xy.com”).isReachable(timeout)) { } else { } 但我无法得到isReachable工作。

在热点/绑定模式下Android上的多播支持

我有一个原型Android应用程序正在侦听多播数据包以’发现’客户端进行通信。 套接字设置类似于: InetAddress group = InetAddress.getByName(“228.1.2.3”); MulticastSocket s = new MulticastSocket(4000); s.joinGroup(group); 当所有设备通过WiFi连接时,这非常有效。 我想用手机充当便携式热点来支持这一点。 但是,虽然我的所有设备似乎都正确连接到热点,但我不再收到组播数据。 我想知道是否存在禁止在热点模式下进行此类通信的限制,或者是否需要任何其他网络配置才能启用此function? 我在运行Gingerbread和Froyo的几个不同的设备上试过这个没有运气。

连接到开放WiFi

我使用下面的代码连接到加密网络。 但是,如果网络不安全而我将密钥留空(“”)则会失败。 有谁知道如何解决这个问题? 此外,是否可以使用ssid / bssid检测网络是否打开? 或者我必须使用filter进行扫描? public void connectToSSID(final String ssid, final String key) { Log.i(“wifimaster”, “connection to “+ssid); WifiConfiguration wc = new WifiConfiguration(); wc.SSID = “\””+ssid+”\””; //IMPORTANT! This should be in Quotes!! wc.priority = 40; wc.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE); wc.allowedProtocols.set(WifiConfiguration.Protocol.RSN); wc.allowedProtocols.set(WifiConfiguration.Protocol.WPA); wc.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.OPEN); wc.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.SHARED); wc.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.CCMP); wc.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.TKIP); wc.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.WEP40); wc.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.WEP104); wc.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.OPEN); wc.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK); wc.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_EAP); wc.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP); wc.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP); wc.preSharedKey = “\””+key+”\””; wc.wepKeys[0] […]

将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检查WIFI状态(断开连接或用户更改WIFI)如何标记FLAG?

如果WIFI连接断开/断开或用户实际更改了WIFI网络,我有没有办法标记? 我需要我的应用程序:连接到WIFI XYZ,如果XYZ断开(FLAG 1)或掉线然后重新连接到XYZ。 但是用户是否更改为另一个wifi BTOpen(FLAG 2)然后允许连接和停止我的服务。 如果用户再次连接到XYZ,则再次启动循环。 到目前为止我得到的是: 广播接收器: myApplication = (MyApplication) context.getApplicationContext(); conManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE); networkInfo = conManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI); boolean isConnected = networkInfo != null && networkInfo.isConnected(); int reconnectedCount = myApplication.getReconnectedCount(); if (wifiManager.isWifiEnabled()) { if(“android.net.conn.CONNECTIVITY_CHANGE”.equals(intent.getAction())) { //Start and Stop Service if(myApplication.isReconnect()) startServiceWifiMonitor(); else stopServiceWifiMonitor(); if (isConnected) { //There is […]