监听手机WiFi、GPRS等网络连接状态
来源:互联网 发布:汽车振动检测软件 编辑:程序博客网 时间:2024/05/17 04:48
我想对Android手机进行wifi、gprs等网络连接状态进行访问,这里用到的知识点:
BroadcastReciever:BroadcastReciever是安卓中四大组件之一。为了方便与进行系统级别的消息通知,Android引入了一套类似的广播消息机制。当一个地方发送广播的时候,只要收听这个广播的广播接收器都可以接收到这个广播。
第一步:
定义一个继承于BroadcastReciever基类的接受器,重写onRecieve()方法;
第二步:
注册BroadcastReciever
第三部:
发送广播
具体看代码~:
自定义广播接收器
public class MyBroadcastReciever extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { //判断是否连接的标志 boolean success = false;//获取网络连接管理器 ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);//获取WiFi网络连接状态 NetworkInfo.State state = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState();//判断是否正在使用WiFi网络 if(state == NetworkInfo.State.CONNECTED){ success = true; Toast.makeText(context, "Wifi已连接~", Toast.LENGTH_SHORT).show(); }//获取GPRS网络连接状态 state = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState();//判断是否正在使用GPRS网络 if(state == NetworkInfo.State.CONNECTED){ success = true; Toast.makeText(context, "GPRS已连接~", Toast.LENGTH_SHORT).show(); } if(!success){ Toast.makeText(context, "无网络连接!", Toast.LENGTH_SHORT).show(); } }}MainActivity代码:
public class MainActivity extends AppCompatActivity { private MyBroadcastReciever mBroadcastReciever; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);//创建意图过滤器对象 IntentFilter intentFilter = new IntentFilter();//给创建的意图过滤器对象指定action动作,来指明将来的广播接受者接受广播的类型 intentFilter.addAction("android.net.conn.CONNECTIVITY_CHANGE");//创建广播接收器 mBroadcastReciever = new MyBroadcastReciever();//动态注册 registerReceiver(mBroadcastReciever,intentFilter);//创建意图对象,并指明action,那么意图过滤器与这个action匹配的广播接收器会收到这个广播 Intent intent = new Intent(); //intent.setAction("com.ontime.abc");//发送广播 sendBroadcast(intent); } @Override protected void onDestroy() { super.onDestroy();//当activity销毁的时候,取消广播接受器的注册 unregisterReceiver(mBroadcastReciever); }}注意:Android 开发中经常要判断网络连接是否可用,因此经常有必要监听网络状态的变化1:意图过滤器的action:<action"android.net.conn.CONNECTIVITY_CHANGE"/>
2: 权限:<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
好了,现在就可以监听网络状态的变化啦~
如下即是效果图:
阅读全文
0 0
- 监听手机WiFi、GPRS等网络连接状态
- android手机网络状态监听,判断手机连接的是移动网络还是wifi等
- 检查手机网络状态是关网还是GPRS 还是WIFI
- 监听手机的网络连接状态
- Android:监听WIFI网络状态
- 网络连接状态监听
- Android判断wifi状态 监听wifi连接
- android监听手机网络连接状态改变的后台服务
- Android网络状态监听,wifi强度监听
- 监听手机网络状态变化
- 手机网络状态变化监听
- 手机网络连接状态
- 安卓网络连接全解:包括网络连接状态的监听、网络数据使用状态的监听、获取当前网络连接情况、启动wifi、获取当前连接wifi的网络情况、扫描wifi热点
- 网络连接状态,wifi,流量
- WifiManager详解-wifi连接状态的监听
- Android 中监听WIFI连接状态变化
- 监听wifi热点连接状态变化
- WINCE网络状态判断(WIFI OR USB OR GPRS)
- Ubuntu中设置静态IP和DNS
- java基础学习资料整理
- Struts2框架学习系列(二) Action --struts.xml配置文件详解
- Docker容器端口IP规划及端口动态扩容
- Jmeter之Bean shell使用(一)
- 监听手机WiFi、GPRS等网络连接状态
- 如何选择MongoDB片键?
- Mac 下常用快捷键,常用功能
- Codeforces 217A Ice Skating 题解
- GITC 2017全球互联网技术大会 上海站日程抢先看!
- AVL树
- NumberPicker
- libevent 学习----------尾队列 tail queue
- Guice Names的模板来生成注解