Android监听手机网络变化-阿里云开发者社区

开发者社区> 啊啊啊88jdk> 正文

Android监听手机网络变化

简介: Android监听手机网络变化 手机网络状态发生变化会发送广播,利用广播接收者,监听手机网络变化 效果图 注册广播接收者 …… ...
+关注继续查看

Android监听手机网络变化

手机网络状态发生变化会发送广播,利用广播接收者,监听手机网络变化

效果图

这里写图片描述

注册广播接收者

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="……" >

    ……

    <application
        …… >

        ……

        <!-- 监听网络状态的广播接收者 -->
        <receiver android:name=".receiver.NetworkBroadcastReceiver" >
            <intent-filter>
                <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
            </intent-filter>
        </receiver>

    </application>
</manifest>

广播接收者

package ……;

import ……;

/**
 * Created by kongqw on 2015/11/23.
 */
public class NetworkBroadcastReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        try {
            ConnectivityManager manager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
            NetworkInfo mobileInfo = manager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
            NetworkInfo wifiInfo = manager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
            //如果无网络连接activeInfo为null
            NetworkInfo activeInfo = manager.getActiveNetworkInfo();

            if (wifiInfo.isConnected()) {
                // wifi 网络
                Log.i("Network", "wifi 网络");
            } else if (mobileInfo.isConnected()) {
                // 手机网络
                Log.i("Network", "手机网络");
            } else if (null == activeInfo) {
                // 没有网络
                Log.i("Network", "没有网络");
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Android手机浏览器访问本地网络相关问题
为了测试开发的手机网站,常常需要使手机直接访问本地网络。 在这个过程中碰到几个问题,记下来供以后参考 1. 在本地主机运行apache后,使用localhost和127.0.0.1可以访问页面,但使用IP(即192.168.1.*)访问时得到403 解决:这是由于httpd.conf的安全限制导致。
773 0
【转】]监听SMS消息/编程实现短信拦截
当设备接收到一条新的SMS消息时,就会广播一个包含了android.provider.Telephony.SMS_RECEIVED动作的Intent。注意,这个动作是一个字符串值,SDK 1.0不再包含对这个字符串的引用,因此,在你的应用程序中,你需要显式的指定它。
766 0
Android开发14——监听内容提供者ContentProvider的数据变化
  一、提出需求 有A,B,C三个应用,B中的数据需要被共享,所以B中定义了内容提供者ContentProvider;A应用修改了B应用的数据,插入了一条数据。有这样一个需求,此时C应用需要得到数据被修改的通知并处理相应操作。     二、示例代码 A应用 /** * 对内容提供者进行操作 * * @author XY * */ public cla
909 0
Android利用Logcat监听应用程序本身被卸载
MainActivity如下: package cc.testremoveapp; import android.os.Bundle; import android.
656 0
Android监听手机网络变化
Android监听手机网络变化 手机网络状态发生变化会发送广播,利用广播接收者,监听手机网络变化 效果图 注册广播接收者 …… ...
607 0
设置windows网络连接别名和linux网络连接别名
windows网络连接别名 C:\Windows\System32\drivers\etc目录下的hosts文件中添加 127.0.0.1 localhost 192.168.1.100 proxy.
687 0
Android 当数据库变动时更新UI数据 注册观察者监听
/** * Register an observer for provider status changes - we will need to * reflect them in the UI.
634 0
206
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载