• Android的本地广播


    本地广播和全局广播(按照传播范围)
    本地广播(app内部传播)数据,其它app收不到,保证了数据的安全性
    全局广播,可以在整个手机所有App之间传播通信,会有安全性问题。普通广播默认就是全局广播。
    例如监听开机充电打电话发短信修改时间这些

    1.本地广播只能通过动态注册
    2.本地广播需要用LoaalBroadcasrManager
    代码示例:
    xml文件:

    
    
    
        
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    java代码:
    本地广播类:MyLocalBroadcastReceiver

    public class MyLocalBroadcastReceiver extends BroadcastReceiver {
        private static final String TAG = "MyLocalBroadcastReceiver";
    
        @Override
        public void onReceive(Context context, Intent intent) {
    
            Log.d(TAG, "onReceive: 收到了本地广播");
        }
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    Activity类:LocalBroadCastActivity

    public class LocalBroadCastActivity extends AppCompatActivity {
    
        private MyLocalBroadcastReceiver myLocalBroadcastReceiver = new MyLocalBroadcastReceiver();
        LocalBroadcastManager mLocalBroadcastManager;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_local_broad_cast);
    
            /**
             * 本地广播只能动态注册
             */
            //实例化
            mLocalBroadcastManager = LocalBroadcastManager.getInstance(this);
            //注册广播接收器
            IntentFilter intentFilter = new IntentFilter();
            intentFilter.addAction("local_broad_cast");
            mLocalBroadcastManager.registerReceiver(myLocalBroadcastReceiver, intentFilter);
        }
    
        //发送本地广播
        public void sendLocalBroadcast(View view) {
            Intent intent = new Intent();
            intent.setAction("local_broad_cast");
            mLocalBroadcastManager.sendBroadcast(intent);
        }
    
        //解除注册
        @Override
        protected void onDestroy() {
            super.onDestroy();
            mLocalBroadcastManager.unregisterReceiver(myLocalBroadcastReceiver);
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
  • 相关阅读:
    通过Spring Boot 实现页面配置生成动态接口?
    Google Earth Engine精度评价方法
    Java IO流
    机器学习笔记之贝叶斯线性回归(三)预测任务推导过程
    浅读一下dotenv的主干逻辑的源码
    阿里云OSS文件上传
    前端的(typeScript)interface详解(个人学习用)
    RDD——Action算子
    时序预测 | MATLAB实现贝叶斯优化CNN-BiLSTM时间序列预测(股票价格预测)
    ThinkPHP+基于ThinkPHP的图书馆管理系统 毕业设计-附源码311833
  • 原文地址:https://blog.csdn.net/ShiXinXin_Harbour/article/details/127643212