标签: android-wifi

如何通过Android上的Wi-Fi热点以编程方式启动本地网络连接?

我想使用Android设备上的内置Wi-Fi热点启动本地网络连接.有办法实现吗?以及如何在两个设备之间进行通信?

编辑:我想以编程方式进行.然后我可以在设备之间传输我自己的数据.

android local-network android-wifi

13
推荐指数
1
解决办法
9054
查看次数

禁用三星"自动网络交换机"进行WiFi连接

在我们的应用程序中,我们处理启动到设备的WiFi连接,该设备广播其自己的无线接入点(没有互联网连接)以进行直接通信.

它在我们所有的测试设备上都能很好地工作; 然而,我们收到用户的报告,在某些三星设备(Galaxy S4,Galaxy Note 3)上,在Wi-Fi设置下有一个名为"自动网络交换机"的设置,三星已经添加了这个设置,寻找"不稳定"的网络,以及将自动断开连接并恢复为移动数据.不幸的是,由于我们的设备没有互联网连接,三星将其报告为不稳定的网络并立即断开连接.

我没有这些设备可用于测试,所以我很好奇是否有其他人知道这个问题或知道如何以编程方式禁用此设置或解决它?

我们用于连接的代码是:

/**
 * Attempt to connect to an open wifi network with the given SSID
 * @param ssid the SSID of the unsecured wireless network to connect to
 */
public static void connectToOpenNetwork (String ssid) {
    WifiManager mgr = getManager();
    WifiConfiguration configuration = getOpenWifiConfiguration(ssid);
    mgr.addNetwork(configuration);
    mgr.saveConfiguration();

    int res = findOpenNetworkId(ssid);
    if (res != INVALID_NETWORK_ID) {
        mgr.enableNetwork(res, true);
        mgr.reconnect();
    } else {
        Log.e(TAG, "Received request to connect to network " + ssid + " …
Run Code Online (Sandbox Code Playgroud)

networking android wifi android-wifi samsung-mobile

13
推荐指数
1
解决办法
6万
查看次数

为什么我从手机到计算机网络的访问不起作用?

我有一个问题,就是昨天,我可以从我的手机访问我的计算机网络,但今天它无法正常工作.为什么会这样?

我准备好了:

  1. 我已经运行与XAMPP(我开始了我的本地服务器ApacheMySQL).
  2. 我通过WIFI连接到同一个网络.
  3. 我的手机通过USB连接到电脑.
  4. 我去了CMD,复制了IP我的电脑并把它放在我的手机浏览器上,但它不起作用.
  5. 我尝试使用网址,10.0.2.2但它也无法正常工作.

为什么会这样?昨天它完美地将我的网址放在我的手机浏览器中,今天它不起作用.我昨天没有做任何改变.我忘记了什么吗?如何检查所有工作是否正确?

注意:我看到很多问题都提出同样的问题,但我无法解决他们的问题.

提前致谢!

编辑:我在日志控制台中看到了一个问题.它在这里的日志:

06-04 16:49:21.527  17600-17600/com.example.user.project V/PhoneWindow? DecorView setVisiblity: visibility = 0 ,Parent =ViewRoot{420a1478 com.example.user.project/com.example.user.project.MainActivity,ident = 0}, this =com.android.internal.policy.impl.PhoneWindow$DecorView{4205a608 V.E..... R.....ID 0,0-0,0}
06-04 16:49:21.527  17600-17600/com.example.user.project D/ActivityThread? ACT-LAUNCH_ACTIVITY handled : 0 / ActivityRecord{4204b3c0 token=android.os.BinderProxy@4204aa68 {com.example.user.project/com.example.user.project.MainActivity}}
06-04 16:49:21.590  17600-17600/com.example.user.project E/? appName=com.example.user.project, acAppName=/system/bin/surfaceflinger
06-04 16:49:21.590  17600-17600/com.example.user.project E/? 0
06-04 16:49:21.590  17600-17600/com.example.user.project E/? appName=com.example.user.project, acAppName=/system/bin/surfaceflinger
06-04 16:49:21.590  17600-17600/com.example.user.project E/? 0
06-04 16:49:21.592  17600-17600/com.example.user.project D/GraphicBuffer? create …
Run Code Online (Sandbox Code Playgroud)

connection xampp mobile android android-wifi

13
推荐指数
1
解决办法
532
查看次数

列出 Android Q / API 29 上的 WiFi 网络

我目前正在将我的应用程序迁移到 Android Q。我想列出所有已配置的 WiFi 网络,并且在 QI 能够使用WiFiManager 中的getConfiguredNetworks函数执行此操作之前。遗憾的是,此方法在 API 级别 29 上已弃用,并在 Android Q 设备上返回空列表。

弃用评论仅指我也想连接到这些网络的情况。我不想这样做,我只想列出带有名称的网络并获取其内部id. 你有什么想法我应该如何在 Q 中做到这一点吗?

android android-wifi android-10.0

13
推荐指数
1
解决办法
3781
查看次数

使用Android的WIFI到WIFI连接

我想将消息从Android设备传输到桌面应用程序.我的问题是,我可以连接Android WiFi设备与桌面WiFi设备,而无需使用互联网连接.我想像蓝牙一样使用它.这有可能吗?如果有可能那么我该如何实现呢?

谢谢并问候Amit Thaper

android android-wifi

12
推荐指数
1
解决办法
9244
查看次数

当已知的SSIS wifi网络进入/超出范围时,有没有办法得到通知?

我想编写一个应用程序,它包括在已知的wifi网络进入或超出范围时执行操作.

例如,假设我的家庭wifi网络的SSIS是"WifiHome",我想发出通知"你刚离开家!" 每当设备无法再检测到此特定网络时.(或者当设备重新检测来自该网络的信号时,"你刚刚回家").

我的问题是:是否可以在不经常查询可用网络列表的情况下收听这些更改?

notifications android wifimanager android-wifi

12
推荐指数
1
解决办法
3574
查看次数

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

我想知道用户或开发人员是否可以在Android版本2.x中设置Wi-Fi接入点代理设置(我知道可以将3.x或更高版本的AP配置编辑到无线设置),以便通过以下方式从代码中获取设置:

ProxySelector defaultProxySelector = ProxySelector.getDefault();
List<Proxy> proxyList = defaultProxySelector.select("http://www.google.it");
Run Code Online (Sandbox Code Playgroud)

(这应该是获取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);
Run Code Online (Sandbox Code Playgroud)

proxy android http wifi android-wifi

12
推荐指数
1
解决办法
8558
查看次数

获取在android中使用wifi网络共享连接的所有用户的列表

我想获取wifi网络共享中所有连接用户的列表.我知道我必须阅读,dnsmasq.leases但问题是,我在哪里可以从手机上获取此文件?

如果我看看wifi tethering开源应用程序的源代码

我在这里得到文件路径

this.coretask.setPath(this.getApplicationContext().getFilesDir().getParent());
this.DATA_FILE_PATH+"/var/dnsmasq.leases" 
Run Code Online (Sandbox Code Playgroud)

我可能不会将此应用程序用于wifi网络共享.那么我怎样才能获得文件位置来读取所有连接的用户?

java android android-wifi tethering

12
推荐指数
1
解决办法
7697
查看次数

在 Android 10 以下没有互联网的情况下,Android 会自动与 WiFi 断开连接

正在开发一个 android 应用程序,我需要在其中以编程方式连接没有互联网的 WiFi 设备。这是一个代码:

    private void connectToWiFi(final String ssid, String password) {

        if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) {

            WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
            final ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);

            NetworkRequest.Builder request = new NetworkRequest.Builder();
            request.addTransportType(NetworkCapabilities.TRANSPORT_WIFI);
            request.removeCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET); // Internet not required

            ConnectivityManager.NetworkCallback networkCallback = new ConnectivityManager.NetworkCallback() {

                @Override
                public void onAvailable(Network network) {

                    String networkSSID = getNetworkSsid();

                    if (networkSSID.equals(ssid)) {
                        connectivityManager.bindProcessToNetwork(network);
                    }
                }

                @Override
                public void onUnavailable() {
                    super.onUnavailable();
                }

                @Override
                public void onLost(@NonNull Network network) {
                    super.onLost(network);
                }
            };
            connectivityManager.registerNetworkCallback(request.build(), …
Run Code Online (Sandbox Code Playgroud)

android wifi wifimanager android-wifi android-8.0-oreo

12
推荐指数
1
解决办法
5293
查看次数

无法在 Android 12 中使用 onCapativityChanged 获取 WIFI SSID

描述

我无法使用 Android-12 中的类获取 WIFI onCapabilitiesChangedSSID ConnectivityManager.NetworkCallback。在 Android-12 中,getConnectionInfo 已弃用。因此,正如 android 文档所建议的那样,我正在尝试WifiInfo使用onCapabilitiesChanged.

像这样,

@Override
public void onCapabilitiesChanged(@NonNull Network network, @NonNull NetworkCapabilities networkCapabilities) {
        super.onCapabilitiesChanged(network, networkCapabilities);
        WifiInfo wifiInfo = (WifiInfo) networkCapabilities.getTransportInfo();
    }
Run Code Online (Sandbox Code Playgroud)

但是,当我打印该WifiInfo对象时。它将打印SSID:<unknown ssid>getHiddenSSID返回 true。

意想不到的行为是,

Android-12设备连接1个WIFI(例如ABC)

  • 当我尝试使用 获取 WIFI SSID 时getConnectionInfo。它返回 SSID: ABC 和 getHiddenSSID: false
  • 但是,对于同一网络,当我尝试使用 获取 WIFI SSID 时 onCapabilitiesChanged,它返回 SSID: <unknown ssid> 和 getHiddenSSID : true

注意:提供位置许可。

android ssid wifi android-wifi android-12

12
推荐指数
1
解决办法
5170
查看次数