1、网络通讯原理基础知识android
1.在一个IP网络范围内最大的IP地址是被保留做为广播地址来使用的。微信
好比:某个网络的IP范围为192.168.0.XXX,子网掩码为255.255.255.0,那么这个网络的广播地址为192.168.0.255。广播数据包会发送到同一网络上的全部端口,这样在网络中的每台主机都会收到这条广播。网络
2.andorid中的广播机制更加灵活,由于每个应用程序均可以本身定制本身关心的广播内容。app
3.andorid中的广播机制分为两种:标准广播和有序广播异步
(1)标准广播:是一种彻底异步执行的广播,在广播发出以后,全部的广播接收器几乎都会在同一时刻接收到这条广播内容,所以他们之间没有前后舒徐之分。这种广播的效率会比较高,可是同时也意味着他是没法被截断的。ide
(2)有序广播:是一种同步执行的该广播,在广播发出以后,同一时刻只会有一个广播接收器可以接收到这条广播,当这个广播接收器中的逻辑执行完毕后,该广播才会继续传播,而且此时的广播接收器是有前后执行顺序的,优先级高的广播接收器就能够先收到广播消息,而且前面的广播接收器还能够截断正在传递的广播,这样后面的广播接收器就没法收到广播消息了。学习
2、接收系统广播大数据
package com.example.broadcasttest; import android.app.Activity; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.widget.Toast; public class MainActivity extends Activity { private IntentFilter intentFilter; private NetworkChangeReceiver networkChangeReceiver; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); intentFilter = new IntentFilter(); intentFilter.addAction("android.net.conn.CONNECTIVITY_CHANGE"); networkChangeReceiver = new NetworkChangeReceiver(); registerReceiver(networkChangeReceiver,intentFilter); } @Override protected void onDestroy() { super.onDestroy(); unregisterReceiver(networkChangeReceiver); } class NetworkChangeReceiver extends BroadcastReceiver{ @Override public void onReceive(Context context,Intent intent) { Toast.makeText(context, "network changes", Toast.LENGTH_SHORT).show(); } } }
3、源码:ui
Broadcastspa
2.CSDN:https://blog.csdn.net/weixin_44630050
3.博客园:https://www.cnblogs.com/ruigege0000/
4.欢迎关注微信公众号:傅里叶变换,我的公众号,仅用于学习交流,后台回复”礼包“,获取大数据学习资料