美文网首页
Android 网络监控

Android 网络监控

作者: 酷似约德尔 | 来源:发表于2018-09-03 19:38 被阅读19次

本文介绍android的网络监控。


在项目中,我们往往要实时监控网络的状态,例如:1、你在看小视频,此时你的Wi-Fi断掉了,自动连上移动蜂窝网了,此时app就应该提示用户注意流量的使用。2、你想发起网络请求,但是你没连接网络,此时app也应该提示用户,如果发起网络请求,请打开网络等。具体监控步骤如下:

1、我们先创建个广播,用户接受网络变化发来的信息。

public class NetWorkBroadCastReceiver extends BroadcastReceiver {

private OnNetWorkWatchListener listener;

public NetWorkBroadCastReceiver(OnNetWorkWatchListener listenser) {

this.listener = listenser;

}

@Override

    public void onReceive(Context context, Intent intent) {

if (intent !=null) {

if (intent.getAction().equals("android.net.conn.CONNECTIVITY_CHANGE")) {

Utils.NetState state = Utils.NetworkState(context);

if (listener !=null) {

listener.onNetWorkChanged(state);

}

}

}

}

public interface OnNetWorkWatchListener {

/**

* 网络状态

*

        * @param state

        */

        void onNetWorkChanged(Utils.NetState state);

}

}

2、在BaseActivity中注册该广播,根据网络变化合理的提示用户,比如增加弹出框引导客户打开网络开关,关闭移动蜂窝开发,打开Wi-Fi开关等。

public abstract class BaseActivity extends FragmentActivity implements NetWorkBroadCastReceiver.OnNetWorkWatchListener {

private static final StringTAG = BaseActivity.class.getSimpleName();

private NetWorkBroadCastReceiver mNetWorkBroadCastReceiver;

@Override

    protected void onCreate(@Nullable Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(initView());

initData();

}

protected abstract int initView();

protected void initData() {

IntentFilter intentFilter =new IntentFilter();

intentFilter.addAction("android.net.conn.CONNECTIVITY_CHANGE");

mNetWorkBroadCastReceiver =new NetWorkBroadCastReceiver(this);

registerReceiver(mNetWorkBroadCastReceiver, intentFilter);

}

@Override

    public void onNetWorkChanged(Utils.NetState state) {

Toast.makeText(this, state +"--", Toast.LENGTH_SHORT).show();

}

@Override

    protected void onDestroy() {

super.onDestroy();

unregisterReceiver(mNetWorkBroadCastReceiver);

}

}

最后附上demo。谢谢大家阅读

相关文章

  • Android 网络监控

    本文介绍android的网络监控。 在项目中,我们往往要实时监控网络的状态,例如:1、你在看小视频,此时你的Wi-...

  • 探索 Android 网络优化方法

    前言 1. 网络优化概述 Android 网络优化方法主要讲的就是线下网络测试工具、线上网络监控方案、流量优化方案...

  • OkHttp3获取Protocol协议,TLS版本,IP等信息

    背景 网络监控需要客户端上报网络请求的Protocol协议版本,TLS版本,IP等信息 问题 Android客户端...

  • Android okhttp http网络监控

    okhttp网络监控指标 指标数据1.入队到请求结束耗时2.dns查询耗时3.socket connect耗时4....

  • Android网络性能监控方案

    简介:移动互联网时代,移动端极大部分业务都需要通过App和Server之间的数据交互来实现,所以大部分App提供的...

  • Android-网络监控框架NetworkCallback +

        Android网络监控可以说是一个老生长谈的话题了。但随着Android API的更新,总有新东西可以聊。...

  • Android 如何实现RxJava中throttleFirst

    概述 在指定时间内只执行一次,类似RxJava中的throttleFirst方法,最近在做Android网络监控,...

  • Android耗电分析

    Android8.0以上的系统 Energy Profiler监控CPU,网络无线电和GPS传感器的使用情况,并显...

  • 远程视频监控的实现

    远程视频监控,也称远程网络监控,是指监控者不在监控摄像头或其他摄像采集设备周围,通过网络远距离查看现场监控视频的场...

  • 网络监控

    中国拥有世界上最复杂的网络环境,除去中国电信,中国联通,中国移动三大主流运营商,还有几千的二三级小运营商,中国目前...

网友评论

      本文标题:Android 网络监控

      本文链接:https://www.haomeiwen.com/subject/gheiwftx.html