动态注册广播,监听网络状态变化,判断网络模式

注册广播监听网络连接和断开状态的变化,判断网络连接模式;

 private ConnectivityManager mConnectivityManager;

 private NetworkInfo netInfo;

/////////////监听网络状态变化的广播接收器

 private BroadcastReceiver myNetReceiver = new BroadcastReceiver() {

 @Override
 public void onReceive(Context context, Intent intent) {

  String action = intent.getAction();
        if (action.equals(ConnectivityManager.CONNECTIVITY_ACTION)) {

            mConnectivityManager = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
            netInfo = mConnectivityManager.getActiveNetworkInfo();
            if(netInfo != null && netInfo.isAvailable()) {

                 /////////////网络连接
                String name = netInfo.getTypeName();

                if(netInfo.getType()==ConnectivityManager.TYPE_WIFI){
                 /////WiFi网络

                }else if(netInfo.getType()==ConnectivityManager.TYPE_ETHERNET){
                /////有线网络

                }else if(netInfo.getType()==ConnectivityManager.TYPE_MOBILE){
               /////////3g网络

                }
              } else {
             ////////网络断开

            }
        }

   }
   }; 

/////////动态注册广播

       IntentFilter mFilter = new IntentFilter();
       mFilter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);
       registerReceiver(myNetReceiver, mFilter);

/////////解除广播

    if(myNetReceiver!=null){
            unregisterReceiver(myNetReceiver);
        }

-------------------------------------

////判断GPS是否打开

public boolean isGpsEnabled(Context context) {

LocationManager locationManager = ((LocationManager) context

.getSystemService(Context.LOCATION_SERVICE));

List<String> accessibleProviders = locationManager.getProviders(true);

return accessibleProviders != null && accessibleProviders.size() > 0;

}

时间: 2024-08-09 10:33:11

动态注册广播,监听网络状态变化,判断网络模式的相关文章

android动态注册广播监听服务demo

服务类,一定要在清单文件中注册 public class lightService extends Service { private boolean ifrun = false; @Override public IBinder onBind(Intent intent) { // TODO Auto-generated method stub return null; } @Override public void onCreate() { super.onCreate(); System.

Android开发之使用广播监听网络状态变化

我们经常需要判断网络状态的变化,如有无网络,所以需要监听网络状态的变化,比如网络断开,网络连接给予友好提示.如何监听网络状态的变化呢,最近工作中需要用到这个,于是就用广播机制来实现了网络状态的监听. 使用广播机制来监听网络状态主要涉及到以下几点: 1.需要自己编写个网络广播接收器,该接收器继承BroadcastReceiver类,用来接收系统发出的广播.比如我自己写了个NetStatusReceiver广播接收器.代码如下: package com.log.system; import andr

Android手机使用广播监听手机收到的短信

我们使用的Android手机在收到短信的时候会发出一条系统广播.该条广播中存放着接收到的短信的详细信息.本文将详细介绍如何通过动态注册广播来监听短信. 注册广播有两种方式,一种是动态注册,另一种是静态注册.动态注册,顾名思义就是在程序运行时注册的,需要用到广播的时候就注册,用完即销毁.静态注是在AndroidManifest.xml中注册的,在<application>中使用<receiver>标签注册. 那么如何创建一个监听短信的广播接收器呢,其实只需要新建一个类,让这个类继承B

Android开机和关机广播监听

Android开机.关机广播监听 一.开机广播的监听 1.在AndroidManifest.xml文件注册接收开机广播 <receiver android:name=".XXXBroadcastReceiver" > <intent-filter> <!-- 开机广播 --> <action android:name="android.intent.action.BOOT_COMPLETED" /> </inte

Android利用广播监听按下HOME和电源键

package cc.testhome; import cc.testhome.HomeKeyObserver.OnHomeKeyListener; import cc.testhome.PowerKeyObserver.OnPowerKeyListener; import android.os.Bundle; import android.app.Activity; /** * Demo描述: * 利用广播监听Home键的按下和长按Home键 * 利用广播监听电源键的按下(关闭屏幕) * *

Android 广播监听wifi

第一步:配置AndroidManifest.xml,在application结点下面添加如下代码 <receiver android:name=".NetworkConnectChangedReceiver" > <intent-filter> <action android:name="android.net.conn.CONNECTIVITY_CHANGE" /> <action android:name="a

Android studio之广播监听接收短信

一. 在清单文件中(AndroidManifest.xml)添加短信权限 这里我用的android studio版本是3.3的 <uses-permission android:name="android.permission.READ_SMS" /><uses-permission android:name="android.permission.RECEIVE_SMS" /><uses-permission android:name

动态注册广播和静态注册广播的区别

广播接收器注册一共有两种形式 : 静态注册和动态注册. 两者及其接收广播的区别: 1.动态注册的广播永远要快于静态注册的广播,不管静态注册的优先级设置的多高,不管动态注册的优先级有多低. 2.动态注册广播不是常驻型广播,也就是说广播跟随activity的生命周期.注意: 在activity结束前,移除广播接收器. 静态注册是常驻型,也就是说即使app已经退出,主要有相应的广播发出,依然可以接收到,但此种描述自Android 3.1开始有可能不再成立. 详情请关注 http://www.cnblo

静态/动态注册广播的区别

广播接收器注册一共有两种形式 : 静态注册和动态注册. 两者及其接收广播的区别: 1.动态注册的广播永远要快于静态注册的广播,不管静态注册的优先级设置的多高,不管动态注册的优先级有多低>\ 2.动态注册广播不是常驻型广播,也就是说广播跟随activity的生命周期.注意: 在activity结束前,移除广播接收器. 静态注册是常驻型,也就是说当应用程序关闭后,如果有信息广播来,程序也会被系统调用自动运行. 3.在同一个优先级下,谁先启动的快,谁将先接收到广播. 动态注册代码: UpdateBro