草庐IT

ConnectivityManager

全部标签

android - 如何检测设备何时获得新 IP?

出于多播目的,我正在寻找一种简单的方法来检测Android设备的IP何时更改。我该怎么做呢?更具体地说,我希望检测:当设备连接到新的Wifi网络并从DHCP获取IP时当设备出于某种原因需要更新IP时 最佳答案 您可以使用ConnectivityManager来做到这一点:您可以使用它来查询当前的连接状态:ConnectivityManagerconnMananger=(ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);NetworkI

android - 连接wifi时打开应用程序

当用户进入有Wi-Fi的区域时,如何打开我的应用程序?这可能吗?假设我的应用程序处于onPause()状态(表示我的设备的主屏幕)。现在当设备连接到wifi时。它会自动打开我的应用程序。 最佳答案 尝试添加广播接收器并监听网络变化,当wi-fi连接时开始您的Activity。像这样的解决方案publicclassConnectivityReceiverextendsBroadcastReceiver{@OverridepublicvoidonReceive(Contextcontext,Intentintent){Connectiv

android - ConnectivityManager 空指针

在此处显示的代码中出现空指针问题。通常,空指针是一种简单易行的修复方法,但在这种情况下,我完全迷失了原因。空指针在这一行:dataConnectionStatus=connManager.getActiveNetworkInfo().isConnected();下面显示的代码位于onCreate方法的开头。我之前使用类似的代码来检查wifi连接是否处于Activity状态。在这种情况下,我需要检查wifi或3g数据连接是否处于Activity状态。空指针崩溃的情况是wifi和3g移动数据都关闭的时候。在这种情况下如何避免null?ConnectivityManagerconnManag

java - 检查网络位置提供程序是否启用的任何替代方法?

当我检查booleannetworkReady=manager.isProviderEnabled(LocationManager.NETWORK_PROVIDER);我在某些三星手机上是真的,尽管设置中不允许无线定位。有没有其他方法可以检查此设置并在所有手机上获得正确的值? 最佳答案 下面附上了我在我的应用程序中使用的一些不错的网络实用程序功能,所有这些功能都非常棒!对于位置轮询,肯定是->https://github.com/commonsguy/cwac-locpoll希望这有助于...publicstaticbooleanc

android - 两者都启用时如何使用数据连接而不是WIFI?

wifi和数据连接均已启用。由于我需要使用移动数据向移动运营商发送http请求以获取电话号码,但android将像以前一样使用wifi,那么如何使用数据连接而不是WIFI?当我在设备中启用wifi和移动数据时。我使用getAllNetworks()方法,但它总是返回wifi。我不知道为什么当我同时启用wifi和移动数据时getAllNetworks只返回wifi?当我只启用移动数据时,getAllNetworks()返回移动数据信息。ConnectivityManagerconnectivityManager=(ConnectivityManager)this.getSystemSer

android - ConnectivityManager 泄漏,不确定如何解决

所以,我有这个方法可以让我知道用户是否有Activity的互联网连接。它运作良好。但是,leakcanary已识别出与connectivityManager相关的内存泄漏。据我所知,我目前不会在我的代码中的任何地方关闭connectivityManager。我试图在onDestroy中关闭connectivityManager。要么这不是一个选项,要么我不知道密码。说实话,我只是想让自动填充告诉我该怎么做。运气不好。publicstaticbooleanisNetworkAvailable(Contextcontext){ConnectivityManagerconnectivityM

android - 如何检查移动网络是否启用/禁用

我想知道移动网络是启用还是禁用。我的应用程序旨在帮助用户接到电话,为此我需要访问Internet。因此,如果Wi-Fi有sleep策略并且移动网络被禁用,我想在用户第一次访问应用程序时显示一个信息框。(我需要在电话响起后的几毫秒内上网)。我找到了Settings.System.WIFI_SLEEP_POLICY,但我找不到任何关于如何检查移动网络是否被禁用(当Wi-Fi开启并工作时)的信息。如有任何帮助,我们将不胜感激!编辑:问题是我想知道用户是否关闭了移动网络(当时手机可以访问WiFi)。 最佳答案 我终于找到了解决办法。显然不是

android - 检查 ANDROID 中的互联网连接

这个问题在这里已经有了答案:HowtocheckmyinternetaccessonAndroid?(5个答案)关闭9年前。您好,我有一个基于通过互联网检索的数据的应用程序...如果没有可用连接,我该如何处理我的应用程序?我可以检测到连接ConnectivityManagercm=(ConnectivityManager)getSystemService(this.CONNECTIVITY_SERVICE);returncm.getActiveNetworkInfo().isConnectedOrConnecting();它工作正常...但是当我知道没有连接时如何防止ForceErro

java - 使用 Robolectric 更改 Android 连接

我正在开发一个使用Robolectric进行单元测试的Android项目。我无法使用禁用互联网连接的功能。我有一个使用HttpUrlConnection向HTTP服务器发送请求并从中获取响应的方法:booleansendRequest()。如果请求成功,它会返回true。privatebooleansendRequest()throwsException{URLurl=newURL("http://example.com");HttpURLConnectionurlConnection=(HttpURLConnection)url.openConnection();intstatusC

android - 如何查看Android "Mobile data"是否开启

我希望我的应用检查“数据网络模式”或“移动数据”是否已启用,即使它们当前未处于Activity状态。换句话说,我需要检查该应用程序是否可能会产生移动数据费用,即使手机当前通过WiFi连接也是如此。通过谷歌搜索,我发现了以下代码,用于检查“移动数据”是否处于“Activity”状态。ConnectivityManagercm=(ConnectivityManager)this.getSystemService(Context.CONNECTIVITY_SERVICE);NetworkInfoactiveNetwork=cm.getActiveNetworkInfo();booleanis