问题标签 [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.
android - Android Q 总是重复使用第一个输入的凭据来连接到 WiFi 网络
我正在尝试使用 Android Q 上的 WifiNetworkSpecifier 连接到 WiFi。我遇到的问题是 Android 始终使用最后一个有效凭据连接到 AP,即使在我手动向 WifiNetworkSpecifier 提供新的、更新的凭据之后也是如此。
这是流程:
- 成功连接AP。
- 更改 WiFi 网络的密码。
- 运行应用程序,尝试使用更新的凭据(提供新的有效密码)再次连接,但应用程序无法连接到 WiFi(身份验证失败)。
如果我颠倒逻辑,也会发生同样的事情:
- 成功连接到WiFi。
- 运行应用程序,为其提供更新的凭据(新的、错误的密码),但应用程序设法连接到 WiFi。
关键是,一旦它使用有效凭据连接到 SSID,无论我放入 WifiNetworkSpecifier 似乎都没有任何区别,它只是一遍又一遍地使用最后一个有效凭据。
这发生在 Google Pixel 2 和华为 P30 Lite 上。但是,在三星 Galaxy S9 上一切正常(如果我更新 WiFi 网络密码并为应用程序提供新的有效密码,应用程序将连接到 WiFi 网络;如果我提供它,它将无法连接到 WiFi假密码,都假设我们之前成功连接到 WiFi)。
重新启动设备后,Pixel 和华为的问题得到“解决”,但是当我再次连接到 WiFi(输入有效凭据)时,我们又回到了同样的问题。
我不确定我是否在这里遗漏了一些琐碎的事情,但我们将不胜感激任何帮助!谢谢!
编辑:事实证明,您不必输入有效凭据即可触发此循环。例如,如果您第一次尝试使用错误密码连接 AP,并且尝试使用正确密码连接后,系统会使用此错误密码(第一次输入的密码)进行连接。同样,这发生在 Pixel 2 和华为 P30 Lite 上,但在 Galaxy S9 和 S9+ 上运行良好。重新启动手机仍会清除此“状态”。
这是代码:
android - 通过 observables 监控互联网连接状态只运行一次
我想监控应用程序范围的互联网连接,为此我使用 rxjava,我创建了一个 util 类并获得了连接状态的静态方法,如下所示:
在每个活动中,我都得到了这个参考并像这样订阅它:
问题是当活动打开时吐司显示正确的状态但是当我关闭/打开(更改互联网连接状态)时没有任何反应没有吐司出现
谢谢!
android - 如何以编程方式阻止和允许其他应用程序在 android 中访问互联网?
我的想法是设计一个 android 应用程序,允许或阻止所选应用程序的互联网流量,根据我的意愿在非 root 手机中。
我知道这是可能的,但请任何人帮助我实现这一目标。
有一些应用程序,如 mobiwol 等,有助于允许或阻止应用程序上网。
我搜索了互联网,但没有任何工作。
提前致谢
android - 当用户连接到 WiFi 网络(可以访问互联网)时,是否有监听器?
我正在努力了解用户何时连接到具有 Internet 访问权限的 WiFi 网络。
到目前为止,我已经尝试了两种方法来实现这一目标:
- 使用
BroadcastReceiver
(动作:)android.net.conn.CONNECTIVITY_CHANGE
,和; - 注册一个
NetworkCallback
。ConnectivityManager
由于它们的回调被调用得太快,它们大部分时间都失败了,因为它们是在网络无法访问 Internet 时调用的。
有没有办法实现我想要的(对于 API >= 16)?
android - 我的 Andoid 应用程序无法在手机上运行并显示消息“bookhub 已停止”?我试图将我的应用程序连接到互联网
我试图将我的应用程序连接到互联网。我运行以下代码这是我在“ConnectionManager.kt”类中输入的一组代码
错误可能在这里也可能不在。我不知道。我在另一个名为“DashboardFragment.kt”的文件中输入了另一组代码,在我看来,这将是一个错误,但我无法解决它。“DashboardFragment.kt”文件中的代码如下:
这是两个文件。请告诉我错误在哪里。这是代码在手机上显示的错误enter image description here
我正在从 logcat 添加一张图片,以根据我们的一位堆栈溢出朋友的要求查找错误..... 在此处输入图片描述
android - 如何对 Android ConnectivityManager 进行单元测试
我正在构建一个应用程序,我们可以通过它使用ConnectivityManager
类检测互联网连接的可用性,但我不确定如何使用Mockito
. 请帮我编写以下代码的单元测试用例:
android - Google 在使用 NET_CAPABILITY_VALIDATED 时如何验证网络连接?
出于好奇,Google 使用什么方法来验证有效的互联网连接?他们是否达到了一个普遍的终点?https://developer.android.com/reference/android/net/NetworkCapabilities#NET_CAPABILITY_VALIDATED
任何指向某些 AOSP 的链接也将非常有帮助。
android - 如何在 API 级别 21 以下的设备中检查 NO INTERNET
这是我的 MainActivity,我已经在 onstart 中注册了我的网络调用。在此代码中,无论设备是否打开互联网 wifi,都不会调用onUnavailable() 。我想在单击一个按钮后检查互联网,如果连接了互联网,它将继续进行下一个活动,否则没有
此命令还ConnectivityManager.requestNetwork(networkRequest, networkCallback, 3000)
需要 Api 级别 21 +,超时时间为 3 秒。
android - 影响应用性能的多个 NetworkCallback 事件 (onAvailable)
当设备失去网络连接时,我需要显示警报屏幕。当连接恢复时,我会隐藏此警报。我正在使用 ConnectivityManager.NetworkCallback() 来确定连接状态。该应用程序正在 API 22 设备上运行。
它在我的 Activity 的 onCreate() 方法中注册
这是广播接收器
通常,onAvailable()
在连接 Wi-Fi 后被调用 1-2 次。但是对于应用程序正在运行的某些地方,onAvailable()
每分钟都会有多个回调到达。
这会影响应用程序性能,使 UI 缓慢且无响应。
这可能是什么原因?在这种情况下如何提高性能?
java - 当 Android 的数据保护程序关闭时获取“BLOCKED”网络状态
我正在开发一个在运行 Android 7.0 的特定平板电脑上使用的应用程序。我正在使用 aService
发送周期性DatagramPacket
s。我只能使用移动网络。ConnectivityManager
我使用和检查连接NetworkInfo
状态DetailedState
。我使用以下代码获取网络状态:
在我的平板电脑中,流量节省程序已关闭。以防万一,我已经运行测试以验证屏幕关闭时没有限制,即使网络被阻塞,cm.getRestrictBackgroundStatus()
总是返回 1,即RESTRICT_BACKGROUND_STATUS_DISABLED 。
那么,为什么网络被封锁了呢?我的应用程序需要特殊权限吗?我的平板电脑需要特殊配置吗?