Articles of android wifi

如何以编程方式在Android中安装CA证书(用于EAP WiFiconfiguration)?

我的目标是:在Android上编程创build一个EAP WiFiconfiguration – 包括CA证书。 问题:如何以编程方式安装CA证书(然后在EAP WiFiconfiguration中引用该证书)? 我发现一个非常有用的链接已经允许我在这里创build和保存EAP WiFiconfiguration: 如何以编程方式创build和阅读Android中的WEP / EAP WiFiconfiguration? 但是,这假定您已经在设备上安装了CA证书。 我想在我的应用程序中安装证书 – 无论是从应用程序的资源,或从服务器发送。 这甚至有可能吗? (在这种情况下,生根不是一个选项)如果是这样,怎么办? 附加信息… 我还find了一种将证书添加到KeyStore的方法: https : //stackoverflow.com/a/4490543/1172101 但是,这是专门用于创build安全套接字并通过HTTPS连接。 我想使用WiFi的证书。 不幸的是,我还没有find一种方法来从程序中以编程方式安装CA证书。 但是,可以通过Android中的Web浏览器安装证书。 因此,解决scheme(现在)是:启动在Web浏览器中打开直接到CA证书的URL的意图。 这工作,但有一些挑战: 用户必须命名证书。 这是一个挑战,因为我们正在编程添加WiFiconfiguration。 因此,我们不得不要求用户给出相同的名称。 用户必须input密码。 如果他们没有设置密码,用户将创build一个并input两次。 如果他们设置了安全密码,用户将不得不记住相同的密码并input。 假设用户成功完成这些步骤,他将被挂在浏览器中。 这导致了几个问题: 从我的应用程序,有没有办法强制用户通过浏览器安装证书的名称? 从我的应用程序,有什么办法知道什么时候证书安装已经完成,然后把焦点回到我的应用程序? 只要让我知道,如果你需要任何澄清。

ScanResultfunction解释

我想分析ScanResult的functionstring。 但是,它们的名字最多可以分成四个方括号, [WPA-PSK-TKIP+CCMP][WPA2-PSK-TKIP-CCMP][WPS][ESS] 是否有某种types的文件描述了哪些括号与什么有关,考虑到一些名字可能在各个括号中出现。 如果在某个地方也有所有可能的function列表,那将是非常好的。

在Android 3.x和4.x上为Wifinetworking分配静态IP地址

我工作的一个项目,应该有一个function,如果用户需要设置静态IP地址(DNS,networking掩码,网关)的Wifi 。 我最初的和实际的解决scheme是使用android.provider.Settings.System类,它允许这个function,但是这个解决scheme只适用于Android 2.x设备。 这很好,当然,我不完全是零,但它会很好,也适用于更高版本的Android操作系统。 它不知道为什么它不起作用。 如果我使用这个简单的方法来检查实际状态: public static final boolean hasStaticIp(Context c) { try { return Settings.System.getInt(c.getContentResolver(), Settings.System.WIFI_USE_STATIC_IP) == 1; } catch (SettingNotFoundException e) { Log.i(TAG, "Settings not found (" + e.geMessage() + ")"); return false; } } 它对于Android 2.x和Android 4.x都会返回true,但是在第二种情况下,更改肯定不会反映在Wifi我发现这是一个小小的硬编码解决scheme,但没有像预期的那样工作。 有没有人面对同样的问题? 我会很高兴任何工作的解决scheme,也为根植的设备(也许一些命令在Linux),因为它很容易检查手机是否根源的状态。 提前致谢。

Android模拟器 – Wifi错误

我正在使用试图连接到networking的Android SDK模拟器广告。 我不能这样做在设置>无线和networking,在哪里我需要打开WiFi上,我得到“错误” 如何解决? Gorov

读取Wifi / 3G状态的例外

嗨,我有以下代码,读取networking/无线状态: public String getMacAddress() { WifiManager wm = (WifiManager) context .getSystemService(Context.WIFI_SERVICE); return wm.getConnectionInfo().getMacAddress(); } 这抛出 Caused by: java.lang.SecurityException: WifiService: Neither user 10032 nor current process has android.permission.ACCESS_WIFI_STATE 和 public boolean is3G() { ConnectivityManager connectivityManager = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE); return !(connectivityManager.getNetworkInfo( ConnectivityManager.TYPE_MOBILE).getState() == NetworkInfo.State.CONNECTED || connectivityManager .getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState() == NetworkInfo.State.CONNECTED); } 这抛出 Caused by: java.lang.SecurityException: ConnectivityService: Neither […]

Android WifiManager中Rssi的含义是什么?

我正在尝试使用getRssi()获取当前wifi连接的信号强度 private void checkWifi(){ ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo Info = cm.getActiveNetworkInfo(); if (Info == null || !Info.isConnectedOrConnecting()) { Log.i("WIFI CONNECTION", "No connection"); } else { int netType = Info.getType(); int netSubtype = Info.getSubtype(); if (netType == ConnectivityManager.TYPE_WIFI) { wifiManager = (WifiManager)getApplicationContext().getSystemService(Context.WIFI_SERVICE); int linkSpeed = wifiManager.getConnectionInfo().getLinkSpeed(); int rssi = wifiManager.getConnectionInfo().getRssi(); Log.i("WIFI CONNECTION", "Wifi connection […]

从代码获取Android WiFi“net.hostname”

当一个Android设备连接到一个无线接入点,它标识自己的名字,如: android_cc1dec12345e6054 如何从Android应用程序中获取该string? 不是为了改变它,只是为了读出。 编辑: 这是我的路由器的Web界面的屏幕截图,显示所有连接的设备的列表。 请注意列表上的两个Android设备 – 如何从设备上运行的Java代码读取该string?

如何通过wifi从Android发送string到PC

你好我正在一个Android应用程序,需要发送一个string通过WiFi到PC导致模拟键盘按键。任何想法如何我可以实现这一任务?

连接到特定的访问点android

嗨,我想连接我的应用程序使用wifimanager API的特定接入点。 现在我有一个所有访问点在我的区域列表,从这个列表中我将它们存储在一个数组中,并select要连接到哪一个。 但在这个阶段是剂量不连接。 有人能帮我吗 。 (这是一个开放的networking,我试图连接到)。这里是我的代码: public void WifiConfiguration(){ try { ScanResult networkData = getIntent().getParcelableExtra("networkData"); WifiManager wifiManager = (WifiManager)getApplicationContext().getSystemService(Context.WIFI_SERVICE); String networkPassWord = ""; WifiConfiguration conf = new WifiConfiguration(); conf.SSID = "\"" + networkData.SSID + "\""; conf.BSSID = "\"" + networkData.BSSID + "\""; conf.hiddenSSID = true; conf.wepKeys[0] = "\"" + networkPassWord + "\""; conf.wepTxKeyIndex = […]

如何使用NetworkRequest.Builder()指定wifinetworking。setNetworkSpecifier(string)

我正在寻找一种方法让Android 5.0平板电脑连接到没有互联网连接的Intranet,出于安全原因。 问题是Google自4.4 / 5.0版在android中build立的强制门户保护。 拨打电话到android connectivitycheck检查互联网连接,当这个呼叫失败时,wifinetworking被标记为不工作并且被避免。 很蹩脚。 其他人遇到同样的问题,并build议使用Android 5中引入的新API,请参阅: Android 5.0 Lollipop和4.4 KitKat忽略我的WiFinetworking,enableNetwork()是无用的 关于这个文件非常模糊: NetworkRequest.Builder.setNetworkSpecifier(String networkSpecifier) “这个string的解释是持证人的具体情况,使用它的持证人应该logging他们的细节,例如,蓝牙可能使用某种设备ID,而WiFi可以使用ssid和/或bssid。蜂窝可以使用运营商spn” 我试过这个,它不工作。 主要的问题是,一旦我使用setNetworkSpecifier()没有findnetworking。 我尝试使用bssid (mac)和AP的ssid 。 它看起来像filter正在工作,但不清楚它应该如何工作。 如果我省略setNetworkSpecifier()调用1findnetworking,但不可能确定哪个。 至less它显示我的代码工作。 那么,如果ssid和bssid不起作用,我应该在这里放什么? 这是我的代码。 private void connect(String ssid, Context context) { Log.i(TAG, "try connect to! " + ssid); ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkRequest nr = new NetworkRequest.Builder().addTransportType(NetworkCapabilities.TRANSPORT_WIFI). removeCapability(NetworkCapabilities.NET_CAPABILITY_TRUSTED). removeCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET setNetworkSpecifier(ssid). […]