`
mars5337
  • 浏览: 89326 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

监听手机的网络连接状态

阅读更多
Android手机大部分支持WIFI、GSM、3G网络,但每次连接网络肯定只能使用其中一种。有些程序(比如:运营商定制的)还必须要求使用特定的网络(如:CMWAP、CTWAP等等),如果当前手机连接的网络不是这些指定的网络,这时的程序处理可能是跳转到网络设置界面让用户手动设置,也有可能是程序自动却换网络(从CMNET切换到CMWAP)。

切换网络的过程是先关闭当前的网络,然后再启动新的网络,这个过程需要一定的时间。可能程序这时需要知道新的网络连接成功后自动登陆,那怎么知道几时连接成功呢?这个时间需要多久呢?

也许用一个线程去监听网络状态可行,我没试过。

我们可以用另外一种方法,PhoneStateListener

没错,你没看错,就是用PhoneStateListener。很多应用PhoneStateListener都是监听来电去电,PhoneStateListener还可以监听网络断开、正在连接和连接成功。

直接看代码吧


Java代码
final TelephonyManager mTelephonyMgr = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);   
mTelephonyMgr.listen(new PhoneStateListener(){ 
                     
    @Override 
    public void onDataConnectionStateChanged(int state) { 
        switch(state){ 
            case TelephonyManager.DATA_DISCONNECTED://网络断开 
                break; 
            case TelephonyManager.DATA_CONNECTING://网络正在连接 
                break; 
            case TelephonyManager.DATA_CONNECTED://网络连接上 
                break; 
        } 
    } 
                         
    }, PhoneStateListener.LISTEN_DATA_CONNECTION_STATE); 

只要重载onDataConnectionStateChanged方法,根据state判断做相应的处理。
分享到:
评论
1 楼 imain 2011-02-12  
这个方法不好用,监听不到

相关推荐

    获取网络连接状态实例demo

    在Android开发中,获取设备的网络连接状态是常见的需求,比如检查用户是否已经连接到互联网,以便决定是否加载网络数据或者执行网络相关的操作。本文将详细介绍如何在Android中实现一个获取网络连接状态的实例。 ...

    监听Android手机网络变更

    本篇文章将详细讲解如何在Android应用中实现对网络连接状态的监听。 首先,我们需要了解Android系统提供的网络状态API。Android通过ConnectivityManager类提供了对网络连接状态的管理。这个类是Android SDK的一部分...

    Android 实时监测网络连接状态变化

    在Android开发中,实时监测网络连接状态变化是一项重要的任务,这涉及到用户应用的网络依赖性和用户体验。本篇文章将深入探讨如何实现这一功能,包括监听网络连接的状态,判断当前的网络类型,以及处理网络状态变化...

    网络状态监听

    当网络连接状态发生变化时,系统会回调相关方法,让应用得知。 2. **iOS中的Reachability**:在iOS平台上,可以使用Apple提供的Reachability库来检测网络可达性,包括Wi-Fi、蜂窝数据等不同类型的网络连接。 3. **...

    Android 设置Wifi热点、打开与关闭的监听

    1. **WiFi热点API**:Android提供了`ConnectivityManager`和`WifiManager`这两个系统服务,用于处理网络连接和WiFi热点相关的操作。`WifiManager`是主要的接口,允许我们获取和设置WiFi状态,创建和配置WiFi热点。 ...

    网络连接状态检测

    在IT领域,网络连接状态检测是一项至关重要的任务,它涉及到应用程序能否正常运行、用户能否顺畅地访问互联网资源等问题。下面将详细阐述网络连接状态检测的相关知识点,并提供一些实用的编程思路。 1. **网络连接...

    Android-Android监听网络变化判断网络连接类型网络制式等工具类

    首先,创建一个继承自BroadcastReceiver的类,重写onReceive()方法,然后注册接收器以监听CONNECTIVITY_ACTION广播,这是系统在网络连接状态改变时发出的广播。 ```java public class NetworkChangeReceiver ...

    Android高级应用源码-网络连接状态检测.zip

    在Android开发中,网络连接状态检测是至关重要的一个环节,它涉及到用户体验、数据同步以及错误处理等多个方面。这个"Android高级应用源码-网络连接状态检测.zip"应该包含了一个实现网络连接状态检测的示例项目,供...

    监听是否有网络的demo

    - 在Android中,我们通常使用`ConnectivityManager`服务来检查设备的网络连接状态。`ConnectivityManager`是系统服务,提供了关于网络连接的信息。 - `getActiveNetworkInfo()`方法返回当前活动的网络连接信息,...

    Android 对手机网络的检测和监听的方法示例

    // 检查网络连接状态,并展示Toast消息 if (wifiNetworkInfo.isConnected() && dataNetworkInfo.isConnected()) { Toast.makeText(context, "WIFI已连接,移动数据已连接", Toast.LENGTH_SHORT).show(); } else ...

    Android网络监听的两种实现方式

    BroadcastReceiver是Android系统中的一种组件,它可以监听并响应系统广播事件,包括网络连接状态的变化。当手机的网络连接(如Wi-Fi、移动数据)开启或关闭时,系统会发出相应的广播。为了实现网络状态监听,你需要...

    Android 网络状态实时监听代码实例(一)

    其实手机在网络方面的的监听也比较重要,有时候我们必须实时监控这个程序的实时网络状态,android在网络断开与连接的时候都会发出广播,我们通过接收系统的广播就可以实现网络的监听。 1、添加访问网络和获取网络...

    Android网络状态实时监听实例代码(二)

    上篇文章给大家介绍了...1、监听手机网络状态(包括GPRS,WIFI, UMTS等) 2、手机状态发生改变时,发送广播 3、当一个网络连接失败时进行故障切换 4、为应用程序提供可以获取可用网络的高精度和粗糙的状态 当

    android判断网络连接

    在Android开发中,判断网络连接状态是至关重要的,它能够帮助开发者确保应用在不同网络环境下正常运行。这个“android判断网络连接”的demo提供了一个简洁且实用的方法来检测设备的网络状态,包括无网络连接、GPRS...

    Android监听网络变化

    在Android开发中,实时监听手机网络变化是一项重要的功能,它能够帮助应用在不同网络环境间无缝切换,确保服务的连续性和用户体验。本文将深入探讨如何实现这一目标,并提供相关的编程实践。 首先,Android系统提供...

    swift-iOS完美的网络状态判断工具

    在iOS应用开发中,网络连接的状态管理是至关重要的,它直接影响到用户对应用程序的体验。Swift-iOS中的“完美的网络状态判断工具”主要是指利用Reachability框架来检测网络的可达性,确保应用能够及时响应网络状态的...

    Android中39采用Service实现电话监听器并将监听到的内容上传到服务器案例

    确保在发送请求前检查网络连接状态,避免在无网络时发送失败。 ```java @Override public void onCallStateChanged(int state, String incomingNumber) { switch (state) { case TelephonyManager.CALL_STATE_...

    网络游戏-基于终端网络设备的故障实时监听系统及终端网络设备.zip

    1. **状态监测**:系统持续监测终端设备的网络连接状况,包括上传和下载速度、丢包率、网络延迟等关键指标,以便及时发现网络问题。 2. **故障识别**:当检测到异常时,系统会通过算法分析判断是否为真正的网络故障...

    Android 监听网络状态方法详解

    Android 监听网络状态方法详解 一.加入网络权限 获取网络信息需要在AndroidManifest.xml文件中加入相应的权限。 二.判断手机网络的几个方案 1)判断是否有网络连接 public boolean isMobileConnected(Context...

    android 检查网络连接状态实现步骤

    1. 监听手机网络状态(如GPRS、EDGE、3G、4G、Wi-Fi等) 2. 管理网络连接,如启动和关闭Wi-Fi、移动数据 3. 提供网络选择界面,让用户选择网络连接方式 4. 提供网络策略管理,例如限制后台数据使用 在开发过程中,...

Global site tag (gtag.js) - Google Analytics