问题标签 [android-connectivitymanager]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
203 浏览

android - 如何在 Android 中获取可用网络(GSM/LTE、WiFi 等)的列表

我尝试获取可用网络列表,但当 WiFi 开启时,我只看到“WIFI”,尽管启用了 GSM/LTE。有没有获得可用网络列表的好方法?

我正在尝试这样做:

0 投票
1 回答
42 浏览

java - 即使 wifi 关闭也“已连接”

任务是检查手机是否连接到互联网。我有问题。即使wifi关闭,它也会显示“已连接”。这是我的课。

这是主要活动:

抱歉,如果它在 android 编程中是新的,那么它的微不足道的问题。Ps:是否有任何连接监听器以及如何检查互联网信号强度(3G、4G、wifi)?

0 投票
3 回答
3139 浏览

android - ConnectivityManager Networkcallback 在没有互联网连接的情况下无法捕捉到 wifi 网络的连接

我有一个设备,我的应用程序可以通过 WIFI 连接到该设备,但是该设备没有互联网。我实现了一个 NetworkCallback 来捕捉连接的变化,如下所示:

当我的 Wifi 和移动数据都打开并且我在具有 Internet 访问权限的不同 wifi 网络之间切换时,“onAvailable()”会触发并打印以记录我已通过 wifi 连接。一旦我尝试连接到没有互联网的 wifi 网络,“onAvailable()”方法就会触发并打印出我已通过移动设备连接,并且设备会在 wifi 图标旁边显示一个感叹号。

有没有办法我仍然可以捕捉到我连接到没有互联网的 wifi 网络的情况?

0 投票
2 回答
358 浏览

android - 无法在 android 设备的省电模式下以编程方式检查网络信息

我想检查我的 android 应用程序中的连接状态。我调用下一个方法onResume

在正常模式下它工作得很好。但是当我的设备处于节电模式并且我从后台打开我的活动时,方法isThereInternetConnection()有时会返回 false(互联网连接良好)。为此我检查networkInfo.getDetailedState()并在省电模式下DetailedState.BLOCKED即使我有良好的互联网连接它也会返回。那么如何解决这个错误,如何在省电模式下检查互联网连接并获得真实值真或假 - 是否连接到互联网?

0 投票
1 回答
3410 浏览

java - 连接网络时如何检测网络更改并将活动从 A 更改为 B

我有 SplashActivity、Activity A 和 Activity B。

当 Internet 不可用时,Splash 活动重定向到 Activity A,当 Internet 可用且已连接时,SplashActivity 重定向到 Activity B。

我想在用户自行连接时立即关闭活动 A,并在用户仍在应用程序内并打开他的 wifi 或移动数据时打开活动 B。

这是我在 SplahsActivity 中使用的代码,用于根据网络状态重定向到活动 A 和活动 B

我检查

提前致谢。

0 投票
0 回答
31 浏览

android - 有没有办法检测我当前的 wifi 是否与之前连接的 wifi 不同?

我试图在后台找出更改的 wifi 连接。我想确保我当前的 wifi 是否与以前连接的 wifi 相同,如果它是配置的新 wifi,那么我希望我的代码触发。我们目前有什么方法可以检查这个吗?将引入一个布尔变量来检查 wifi/网络变化。

0 投票
1 回答
503 浏览

android - WifiManager enableNetwork 几秒钟后恢复到以前的网络

在 Android 8.1.0 及更高版本上,我遇到了一个重大问题。使用 连接到没有互联网的网络时enableNetwork,Android 会在几秒钟后决定将设备放回之前的网络。

我有意连接到所需的网络,并计划使用它bindToNetwork来确保所有流量都通过网络,但是 Android 似乎忽略了绑定并在之后很快断开连接。

不幸的是,我在这里看到了这个问题的一些排列,但都没有回复。

我正在使用以下代码创建与网络的连接。我能够看到网络连接。

是否有禁用此行为的可用选项,因为我有意连接到没有可用互联网的网络。

谢谢。

0 投票
0 回答
2121 浏览

android - 即使在取消注册后也多次调用网络回调

在我的 android-app 中,即使启用了蜂窝数据,我也需要通过没有互联网连接的 Wi-Fi 连接调用 API。我设法用下面的代码来处理这个问题:

到目前为止,一切都很好。但是,在某些 android 设备上,onAvailable 方法(以及因此的 SendAPIRequest 方法)有时会被调用多次,并非总是如此。如 developer.android.com 上所述,如果满足请求的网络发生更改,则可能会多次调用 networkcallback。(https://developer.android.com/reference/android/net/ConnectivityManager.NetworkCallback.html#onAvailable(android.net.Network))但正如您在我的代码中看到的,我立即取消注册网络回调以防止此回调即使网络发生变化,也不会被再次调用。我究竟做错了什么?

0 投票
1 回答
278 浏览

android - 连接wifi或移动数据时如何检查设备是否处于连接状态?

我正在开发在应用程序启动时运行我的网络服务的 android 应用程序。我的应用程序基本上是设备的家庭应用程序。这意味着当用户重新启动设备时,我的应用程序将出现在他面前。

到目前为止,这很棒。但我注意到,在应用程序启动时,设备需要 5 到 10 秒才能连接互联网。而我的网络服务在互联网建立之前运行,因此抛出“发生错误,请稍后再试”的错误。

我想要什么:虽然我正在显示该消息,但我真的不满意,因为我确实想向用户显示一条消息。该消息应该是“设备正在连接到互联网”

但不幸的是,我无法这样做。我正在使用以下代码

但它确实告诉我网络是否连接。

那么是否存在我可以显示诸如“请等待设备正在连接到互联网”之类的消息的情况

或者我怎样才能让该设备重新启动而不是唯一的应用程序。... 请帮忙

0 投票
3 回答
15263 浏览

android - 如何在 Android 9.0(PIE) 中获取 WIFI SSID?

如何在 Android 9.0(PIE) 中获取 WIFI SSID?我的代码在 android 版本 8.1.0 之前工作正常,但在 Android 9.0 上不起作用

但此代码不适用于 Android 9.0