美文网首页
Android监听网络变化

Android监听网络变化

作者: 真胖大海 | 来源:发表于2019-11-28 11:35 被阅读0次

参考Android 网络管家ConnectivityManager

android 7.0 之后 对于监听网络变化的广播*** CONNECTIVITY_ACTION***。

如果是在应用AndroidManifest文件中声明对该广播的监听,则无效;
如果使用register声明对该广播的监听,则有效。

所以我们应该使用更通用的方式(requestNetwork)来监听网络的变化。

步骤

1.声明权限

    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>

2.监听网络

        val cm = app.getSystemService(CONNECTIVITY_SERVICE) as ConnectivityManager
        val builder = NetworkRequest.Builder()
        val request = builder.addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET)
                .addTransportType(NetworkCapabilities.TRANSPORT_WIFI)
                .addTransportType(NetworkCapabilities.TRANSPORT_CELLULAR)
                .build()

        cm.requestNetwork(request,object :ConnectivityManager.NetworkCallback(){
            override fun onAvailable(network: Network?) {
                super.onAvailable(network)
                NetPublishSubject.instance().post(NetPublishSubject.CONNECTION)
                Log.i("net detect","onAvailable")
            }

            override fun onLost(network: Network?) {
                super.onLost(network)
                NetPublishSubject.instance().post(NetPublishSubject.DIS_CONNECTION)
                Log.i("net detect","onUnavailable")
            }
        })

相关文章

  • Android监听网络变化

    参考Android 网络管家ConnectivityManager android 7.0 之后 对于监听网络变化...

  • Android 监听网络变化

    qq群:614530228 首先在清单文件里加入权限 NetworkChangeReceiver.class 在B...

  • android监听网络变化

    清单文件申请权限ACCESS_NETWORK_STATE 新建广播接收者继承BroadcastReceiver,重...

  • Android 判断网络连接状态

    在Android上,我们需要对不同的网络情况做出一些操作。官方提供了监听网络状态变化的广播,用来监听网络的变化情况...

  • android网络监听学习笔记

    网络变化android自带广播、采用广播接收器接收网络变化的监听 自定义广播接收 为了方便全局监听在baseact...

  • Android 检测网络类型及是否能用

    Android 中网络连接检测和使用ping检测网络是否可访问Android:检测网络状态&监听网络变化 获得Co...

  • 监听Android设备网络变化

    版权声明:本文源自简书tianma,转载请务必注明出处: http://www.jianshu.com/p/2f1...

  • Android网络状态变化监听

    Android网络状态监听实现 功能分析 背景介绍 为了给用户一个好的使用体验,尤其是一些视频、图片类型的app,...

  • android全局网络变化的监听

    一般的android应用都会监听手机网络变化,根据网络是否连接或者网络环境进行相应的操作或者限制。这里写下自己的实...

  • android 5.0 以上监听网络变化

    前言# 大家好,大概有一个多月没有更新博客了,我是干什么去了呢?很明显,程序员当然要加班……这一次跟大家分享一下新...

网友评论

      本文标题:Android监听网络变化

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