标签: android-wifi

如何路由来自网络共享的所有流量?

我正在做一些测试项目,基本上我想在我处于热点模式时将所有流量路由到固定地址.我有IP范围,例如192.168.0.0/24我不知道我是否可以使用没有root或JNI函数的iptables (找不到任何符合我想要的东西)开箱即用的思维非常受欢迎(DNS,客户端连接等低级别数据包广播......)

任何的想法?

编辑:Android和iOS如何检测网络门户?

来源:https://sudoroom.org/wiki/Mesh/Firmware/Splash_page 他们尝试HTTP GET on

iOS:http://www.apple.com/library/test/success.html并期望有200个门户网站

Android:http://clients3.google.com/generate_204并期望在不在门户网站后面的204状态,任何其他状态是门户网站

那么,我该如何正确回应这些检测?

dns proxy android android-wifi tethering

11
推荐指数
1
解决办法
3102
查看次数

通过 Wifi 在 Android Studio BumbleBee 上配对新设备

我最近更新到 Android Bumblebee。我正在尝试通过 wifi 无线连接我的设备。但我总是收到如下屏幕截图所示的消息。

我已经更新到最新的平台工具 SDK 32,但问题仍然存在。任何帮助,将不胜感激。

Wifi 配对问题图片

android android-wifi android-studio pairing android-studio-bumblebee

11
推荐指数
2
解决办法
4915
查看次数

android以编程方式打开wifi

我试图以编程方式添加一个wifi网络并连接到该网络.

如果wi-fi已经打开,我的代码工作正常.

如果wi-fi关闭,我看到wifimanager.addtonetwork()失败,当我看到手机的wifi设置时,我可以看到状态为扫描

如果我尝试再次连接它工作正常.

请参阅下面的代码.请帮忙

private int changeNetwork(NetworkSetting setting) {
    // If the SSID is empty, throw an error and return
    if (setting.getSsid() == null || setting.getSsid().length() == 0) {
        return doError(R.string.wifi_ssid_missing);
    }
    // If the network type is invalid
    if (setting.getNetworkType() == NetworkType.NETWORK_INVALID) {
        return doError(R.string.wifi_type_incorrect);
    }

    // If the password is empty, this is an unencrypted network
    if (setting.getPassword() == null
            || setting.getPassword().length() == 0
            || setting.getNetworkType() == null
            || setting.getNetworkType() == NetworkType.NETWORK_NOPASS) {
        return changeNetworkUnEncrypted(setting);
    }
    if …
Run Code Online (Sandbox Code Playgroud)

android android-wifi

10
推荐指数
2
解决办法
2万
查看次数

在REAL设备上模拟慢速Internet连接?

我需要在甚至2G互联网连接不完全覆盖的条件下测试我的应用程序(即2个条而不是4个,2G个).

我更喜欢通过WiFi进行这些测试.

有没有办法(以编程方式或其他方式)告诉真实设备上的Android操作系统减速或限制因特网连接56 Kbit/s?

注意:我知道如何在模拟器上执行操作.我正在寻找一种在真实设备上执行此操作的方法.

这可能吗?

android android-networking android-wifi android-internet

10
推荐指数
1
解决办法
9567
查看次数

如何在应用程序中访问com.android.internal.R.bool?

我想访问以获取此参数

com.android.internal.R.bool.config_wifi_background_scan_support 但它给出了com.android.internal.R无法解决的错误?

我正试图用这种方式: this.getResources().getSystem().getIdentifier("config_wifi_background_scan_support","id", "android")

但我一无所获.

任何人都知道如何获取信息com.android.internal.R.bool

android android-wifi

10
推荐指数
1
解决办法
6109
查看次数

Android在托管热点时查找设备的IP地址

我需要在托管热点时找到设备的IP地址.到目前为止我使用过这段代码:

//if is using Hotspot
for (Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements();) {
    NetworkInterface intf = en.nextElement();
    if (intf.getName().contains("wlan")) {
        for (Enumeration<InetAddress> enumIpAddr = intf.getInetAddresses(); enumIpAddr.hasMoreElements();) {
            InetAddress inetAddress = enumIpAddr.nextElement();
            if (!inetAddress.isLoopbackAddress() && (inetAddress.getAddress().length == 4)) {
                return inetAddress.getHostAddress();
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这工作得很好但是NetworkInterface某些设备上的wifi 名称不同.所以我必须首先找到设备的wifi NetworkInterface名称(针对其热点).我怎么能找到这个名字?或者是否有更好的方法来查找设备的IP地址?

///通过MAC查找正确的IP地址似乎也不起作用

android ip-address wifi android-networking android-wifi

10
推荐指数
2
解决办法
2万
查看次数

android如何检查wifi连接但没有互联网连接

我的设备与wifi连接,但如果连接wifi如何,但这些没有互联网连接

以下是我的代码,我试图检查是否没有互联网连接

public static boolean isConnectedWifi(Context context) {
        NetworkInfo info=null;
        if(context!=null){
            info= IsNetConnectionAvailable.getNetworkInfo(context);
        }
        return (info != null && info.isConnected() && info.getType() == ConnectivityManager.TYPE_WIFI);
    }
Run Code Online (Sandbox Code Playgroud)

当没有互联网访问时,它总是返回true

android android-wifi

10
推荐指数
2
解决办法
5068
查看次数

Android Wi-Fi扫描:从ScanResult过滤打印机

我正在开发一个需要扫描公共Wi-Fi接入点的项目.

目前,我正在过滤ScanResult这样的:

for (ScanResult scanResult : wifiList) {
  if (!(scanResult.capabilities.contains("WEP") || 
        scanResult.capabilities.contains("WPA") || 
        scanResult.capabilities.contains("WPA2"))) {

              openWifiList.add(scanResult);    

  }
}
Run Code Online (Sandbox Code Playgroud)

它工作正常,但我也得到附近的打印机.

扫描时,手机未连接到任何网络.

我原以为我得到的列表与Android上的Wi-Fi设置中显示的Wi-Fi连接列表完全相同.但在Wi-Fi设置中,没有显示任何打印机.

因此1)我认为打印机出现在ScanResult列表中是很奇怪的,打印机是否真的可见


更新:并非所有的Wi-Fi打印机都可见,我得到了一些提示,看起来就像打印机一样,具有特殊功能,例如HP打印机支持 HP Wireless Direct功能(参见例如 https:/ /h30434.www3.hp.com/t5/Inkjet-Printing/Printer-SSID-appearing-on-my-wi-fi-list/td-p/1705073 https://support.hp.com/rs-en/document/c04577030).


2)有什么方法可以检查是否ScanResult属于打印机

到目前为止,我只能想到过滤常见的SSID名称,但这不会非常有效或可靠.

谢谢你的任何建议.

android network-printers wifimanager android-wifi

10
推荐指数
1
解决办法
626
查看次数

Android 上的 Wifi 感知和 Wifi P2P 之间的区别?

WiFi感知和WiFi P2P技术之间的主要区别是什么?

使用 WiFi P2P,您可以在不需要公共网络的情况下在两个或多个附近设备之间建立连接。但 android 文档规范也说明

Wi-Fi 感知功能使运行 Android 8.0(API 级别 26)及更高版本的设备能够发现并直接相互连接,而无需它们之间的任何其他类型的连接。

它们之间有什么区别?

android wifi android-wifi wifi-direct wifip2p

10
推荐指数
2
解决办法
4000
查看次数

Android Q 总是重复使用第一个输入的凭据连接到 WiFi 网络

我正在尝试使用 Android Q 上的 WifiNetworkSpecifier 连接到 WiFi。我遇到的问题是 Android 始终使用最后一个有效凭据连接到 AP,即使在我手动向 WifiNetworkSpecifier 提供新的更新凭据之后也是如此。

这是流程:

  1. 连接AP成功。
  2. 更改 WiFi 网络的密码。
  3. 运行应用程序,尝试使用更新的凭据(提供新的有效密码)再次连接,但应用程序无法连接到 WiFi(身份验证失败)。

如果我颠倒逻辑,同样的事情会发生:

  1. 成功连接到WiFi。
  2. 运行该应用程序,为其提供更新的凭据(新的、假密码),但该应用程序设法连接到 WiFi。

关键是,一旦它使用有效凭据连接到 SSID,无论我放入 WifiNetworkSpecifier 的任何内容似乎都没有任何区别,它只是一遍又一遍地使用最后一个有效凭据。

这发生在 Google Pixel 2 和华为 P30 Lite 上。但是,在三星 Galaxy S9 上一切正常(如果我更新 WiFi 网络密码并为应用程序提供新的有效密码,应用程序将连接到 WiFi 网络;如果我提供它,它将无法连接到 WiFi假密码,假设我们之前成功连接到 WiFi)。

重启设备后,Pixel 和华为的问题得到“解决”,但是当我再次连接到 WiFi 时(输入有效凭据),我们又回到了同样的问题。

我不确定我是否在这里遗漏了一些微不足道的东西,但任何帮助将不胜感激!谢谢!

编辑:事实证明,您不必输入有效凭据即可触发此循环。例如,如果您第一次尝试使用虚假密码连接AP,并且在尝试使用正确密码连接后,系统会使用此错误密码(第一次输入的密码)进行连接。同样,这种情况发生在 Pixel 2 和华为 P30 Lite 上,但在 Galaxy S9 和 S9+ 上运行良好。重新启动手机仍会清除此“状态”。

这是代码:

    @RequiresApi(api = Build.VERSION_CODES.Q)
    private fun connectToWiFiOnQ(context: Context, wifiCredentials: WifiCredentials) {
        val connectivityManager: ConnectivityManager =
            context.applicationContext.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager

        val …
Run Code Online (Sandbox Code Playgroud)

android android-networking android-wifi android-connectivitymanager android-10.0

10
推荐指数
0
解决办法
526
查看次数