Android(安卓)监测手机联网状态 wifi、移动数据流量、无联网状态
16lz
2021-01-24
手机当完成联网时会发送一个广播,我们只要创建一个广播接收者即可,代码如下:
package com.example.NetworkChangeReceiver2;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.net.ConnectivityManager;import android.net.NetworkInfo;import android.widget.Toast;/** * Created by Heyiyong on 2014-4-20 下午2:23. */public class NetworkChangeReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo activeNetworkInfo = cm.getActiveNetworkInfo(); if (activeNetworkInfo == null) { Toast.makeText(MyActivity.instance, "当前无网络连接!", 1).show(); } if (activeNetworkInfo.getType() == ConnectivityManager.TYPE_WIFI) { Toast.makeText(MyActivity.instance, "wifi连接成功!", 1).show(); return; } if (activeNetworkInfo.getType() == ConnectivityManager.TYPE_MOBILE) {//当前的connect不是wifi,并且是移动数据 Toast.makeText(MyActivity.instance, "移动数据流量连接!", 1).show(); return; } }}
MyActivity.java
package com.example.NetworkChangeReceiver2;import android.app.Activity;import android.os.Bundle;public class MyActivity extends Activity { public static MyActivity instance; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); instance = this; }}
注意:不要忘了添加权限:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
注册广播接收者:
<receiver android:name=".NetworkChangeReceiver" android:label="NetworkConnection" > <intent-filter> <action android:name="android.net.conn.CONNECTIVITY_CHANGE" /> </intent-filter> </receiver>
更多相关文章
- Android存储之SharedPreferences
- Uiautomator及UiautomatorHelper
- RecyclerView的简单使用
- Android(安卓)Call Log and SMS Delete 电话记录和短信删除
- SQlite数据库(4)---DAO(data access object)数据访问对象
- Android(安卓)建立自己的手写笔画图案 Gesture Builder
- Android基础考试知识点清单
- Android后端的项目创建流程(IDEA2020 + Tomcat 10 + JDK11)
- Android串口通信apk源码详解(附完整源码)