问题标签 [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 投票
2 回答
61 浏览

android - 当我在没有连接 WiFi 的情况下打开我的 android 应用程序时,它显示没有连接 WiFi,正如我在代码中给出的那样

但是当我将我的应用程序与 WiFi 连接时,它仍然显示没有连接 WiFi,所以我必须关闭应用程序并在连接 WiFi 的情况下再次打开它。

0 投票
15 回答
38313 浏览

android - 在 API 级别 28 中不推荐使用 activeNetworkInfo.type

在此处输入图像描述我想使用提供方法 activeNetworkInfo.type 的连接管理器来检查 Android 中的网络类型。此方法在 API 级别 28 中已弃用。那么在 API 28 中检查网络类型的解决方案是什么。我的代码是:

我的 Gradle 是这样的:

0 投票
6 回答
12722 浏览

java - registerDefaultNetworkCallback 和 registerNetworkCallback 的区别

在为 API 28 更新我的 Android 应用程序时,我遇到了registerDefaultNetworkCallbackregisterNetworkCallback 。

查看文档后,我找不到注册网络回调和注册默认 网络回调之间的区别。

什么时候使用哪个?

提前致谢 :)

0 投票
0 回答
31 浏览

android - 如何仅在连接到某些网络或 VPN 时运行 android 应用程序?

如果仅通过某些网络或 VPN(例如 eduroam)连接,有没有办法将应用程序的运行限制在它连接的服务器上。这是限制应用程序仅在某些位置(即连接到网络时)运行的好方法吗?是否有任何其他方法可以区域性地限制应用程序仅在选定位置运行?

0 投票
2 回答
10687 浏览

android - ConnectivityManager.NetworkCallback() -> onAvailable(Network network) 方法在设备连接到内部 wifi 网络时不会触发

我正在尝试通过内部 wifi 网络将远程数据发送到 App Center,但它不在此网络上发送,但它在任何外部网络上发送。调试时发现当设备连接到内部 wifi 时不会调用方法 onAvailable(),但在连接到任何外部 wifi 时会调用它。

以下代码来自 App Center SDK:
appcenter\utils\NetworkStateHelper.javaNetworkStateHelper.java。类 NetworkStateHelper -> 方法重新打开() -> public void onAvailable(Network network) 方法

示例代码:

当连接到内部 wifi 网络时,它应该调用 onAvailable 方法。

0 投票
1 回答
928 浏览

android - 如何在独立于生命周期的类中处理 Observables?

我有一个基于网络更改通知程序的类ConnectivityManager.NetworkCallback,我想在网络可用时更新一些字段;

是否可以在方法结束时调用 dispose,或者我必须在其他地方处理该变量,这就是我的道;

0 投票
0 回答
1226 浏览

android - BindProcessToNetwork 在特定设备上不起作用

我有一个为客户端定制的应用程序,并且在 Play 商店中不可用,当它检测到设备连接到他们的 WiFi 时,它基本上会进行一些网络调用。即使它没有互联网连接也应该发生这种情况,应用程序发出的每个请求都是针对本地地址的。
问题来自客户购买的新一批平板电脑(Galaxy Tab Active 2,Android 8.1.0,内部版本号 M1AJQ.T395XXU3BRJ5),它总是更喜欢通过我告诉它的任何网络连接互联网绑定到。
WiFi -> 高级 -> 切换到移动数据已被禁用,所以不应该这样。

这是我一直在使用的代码:

在他们以前的所有设备上,我自己的手机,甚至 Galaxy Tab Active 1 上,这都在工作:我们在日志中看到“Bound?true”,并且每个连接都是通过正确的网络建立的。在 Active 2 上,我们总是看到“Bound? false”,它将使用 4G 连接。禁用数据不是一种选择。

如果这是三星的错误,是否有解决方法?或者可能是强制 HttpURLConnection 使用特定网络的替代方法?

0 投票
1 回答
66 浏览

android - 如何检查设备是否与互联网断开连接?

我找到了一个关于检查设备是否连接到互联网的代码。代码如下

我的问题是,如果返回TRUE但设备突然失去连接怎么办?在我的应用程序运行时,如何获得一个信号,让我知道我在任何时候都失去了互联网连接?

0 投票
1 回答
65 浏览

android - 当手机通过热点连接到 wifi 时,有没有办法检测互联网连接的变化?

手机 A 已开启移动数据,并通过 Wi-Fi 热点与手机 B 共享互联网。如果手机 A 中的移动数据已关闭,@PhoneB 不会收到任何连接更改。在电话 A 中打开/关闭移动数据时,如何在电话 B 中获得此更改?手机 B 是安卓手机。

0 投票
3 回答
2506 浏览

android - Android ConnectivityManager onAvailable 有时未返回

我们使用 AndroidConnectivityManager来监听我们应用程序内的互联网连接变化,如下所示。

除了我们遇到的两个问题外,此实现运行良好

  1. 如果我们同时使用 wifi 和移动数据连接到互联网并关闭 wifi,有时会onLost()触发回调,然后按onAvailable()预期触发,但在其他情况下 onLost()触发不正确。

  2. 如果我们没有互联网连接并打开应用程序onLost()不会触发,但是如果我们有互联网连接并打开应用程序onAvailable()会触发。

任何帮助、建议、解决方法或其他可靠地检测互联网连接变化的方法都将非常感激。

在小米 A2 (Android 9)、一加 (Android 9) 上测试

演示项目
https://github.com/PhanVanLinh/AndroidNetworkChangeReceiver