• BroadcastReceiver(广播接收器)


    广播接收器主要是不同的应用程序和组件之间的通信机制

    实现步骤:

    广播周期的生命周期

    1.广播的注册:

    1 IntentFilter intentFilter=new IntentFilter();//创建一个IntentFilter对象
    2        intentFilter.addAction("com.android.myAction");//为BroadcastReceiver指定action,用于接收同action的广播
    4        mBroadcastReceiver=new myBroadcastReceiver();//创建一个广播接收器
    6          registerReceiver(mBroadcastReceiver,intentFilter);//注册广播接收器

       广播接收器还可以在AndroidManifest.xml文件中注册(该广播接收器就为系统级的,一直伴随着程序存在,无法取消)

    1 ...
    2 </activity>
    3 
    4   <receiver android:name=".MyBroadcastReceiver">
    5       <intent-filter android:priority="900">
    6            <action android:name="com.android.myAction"/>
    7       </intent-filter>
    8   </receiver>

     

    2.发送广播:

    1 Intent intent=new Intent("com.android.myAction");//发送action为com.android.myAction的intent的对象
    2     intent.putExtra("DATA","你好");//封装数据
    3     sendBroadcast(intent);//发送广播

    3.取消广播接收器

    1 unregisterReceiver(mBroadcastReceiver);//取消广播接收器

    4.接收广播

    1 public class MyBroadcastReceiver extends BroadcastReceiver{//定义盖子类用于接收广播
    @override
    2 public void onReceive(Context context,Intent intent){//接收广播 3 if(intent.getAction().equals("com.android.myAction")){//判断intent对象的action是否为com.android.myAction 4 Toast.makeText(context,"接收到广播信息"+intent.getStringExtra("DATA"),Toast.LENGTH_SHORT).show(); 5 }//将接收的对象用Toast显示出来 6 } 7 }

     下一页

  • 相关阅读:
    jeecg中树形显示的用法
    jeecg中ajax传值的前端js和后台代码
    js中去掉字符串中的某个指定字符
    Address already in use: JVM_Bind(端口冲突)
    jeecg中List页面标签的用法
    HTML map标签图片区域链接
    CSS块级元素和行内元素
    discuz 标签
    JavaScript中getYear()各个浏览器的差异
    [HNOI2017] 礼物
  • 原文地址:https://www.cnblogs.com/DASOU/p/3141572.html
Copyright © 2020-2023  润新知