博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
安卓:动态注册广播
阅读量:4327 次
发布时间:2019-06-06

本文共 1194 字,大约阅读时间需要 3 分钟。

思路:创建一个类继承BroadcastReceiver类,在里面重写onReceive()方法,把接收到广播后需要添加的逻辑写在方法内public class MainActivity extends AppCompatActivity     private Broad broad;    private IntentFilter intentfilter;

protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        intentfilter=new IntentFilter();        intentfilter.addAction("android.net.conn.CONNECTIVITY_CHANGE");        broad=new Broad();        registerReceiver(broad,intentfilter);    }   class Broad extends BroadcastReceiver{       public void onReceive(Context context,Intent intent){           ConnectivityManager connectionManager=(ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);           NetworkInfo networkinfo=connectionManager.getActiveNetworkInfo();           if(networkinfo!=null&&networkinfo.isAvailable()){               Toast.makeText(context,"network is avaliable",Toast.LENGTH_SHORT).show();           }           else                Toast.makeText(context, "network is unavaliable", Toast.LENGTH_SHORT).show();       }   }}

注意:1.有些访问时需要权限的,所以要在AndroidManifest.xml中添加权限。

           2.动态注册的广播接收器一定要取消注册。

转载于:https://www.cnblogs.com/zdcn/p/9728645.html

你可能感兴趣的文章
Jenkins安装配置
查看>>
个人工作总结05(第二阶段)
查看>>
Java clone() 浅拷贝 深拷贝
查看>>
深入理解Java虚拟机&运行时数据区
查看>>
02-环境搭建
查看>>
spring第二冲刺阶段第七天
查看>>
搜索框键盘抬起事件2
查看>>
阿里百川SDK初始化失败 错误码是203
查看>>
透析Java本质-谁创建了对象,this是什么
查看>>
BFS和DFS的java实现
查看>>
关于jquery中prev()和next()的用法
查看>>
一、 kettle开发、上线常见问题以及防错规范步骤
查看>>
eclipse没有server选项
查看>>
CRC码计算及校验原理的最通俗诠释
查看>>
QTcpSocket的连续发送数据和连续接收数据
查看>>
使用Gitbook来编写你的Api文档
查看>>
jquery扩展 $.fn
查看>>
Markdown指南
查看>>
influxDB的安装和简单使用
查看>>
JPA框架学习
查看>>