博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
22 广播的几种创建和发送方式
阅读量:5346 次
发布时间:2019-06-15

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

  • 静态方式
    创建一个类继承BroadcastReceiver
public class MyBroadCastReceiver01 extends BroadcastReceiver{
/** * 就一个生命周期 普通广播10s */ @Override public void onReceive(Context context, Intent intent) { // TODO Auto-generated method stub }}

并在manifest中<application>标签中写

那么你将可以接受意图相同的广播

或者发送广播时指定你(此时意图可不写)
如:

package com.qf.day22_broadcastreceiver_demo1;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.View;public class MainActivity extends Activity {
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } //发送广播 public void MySendClick(View v){ Intent intent = new Intent(MainActivity.this, MyBroadCastReceiver01.class); intent.putExtra("str", "疯狗咬人"); //发送普通的广播 sendBroadcast(intent); }}
  • 动态方式
    随便一个类继承BroadcastReceiver 内部类也可
BroadcastReceiver receicer=new BroadcastReceiver() {            @Override            public void onReceive(Context context, Intent intent) {                // TODO Auto-generated method stub            }        };

注册权限

//获取意图过滤器        IntentFilter intentFilter = new IntentFilter();        //添加Action        intentFilter.addAction("qq.weixin.mm");registerReceiver(receicer, intentFilter);
一般我们在onresume注册 然后在onstop取消注册

取消注册

unregisterReceiver(receicer);

发送广播两种方法

普通广播 :其他广播接受则无法阻拦或者修改广播发送其他接受者

Intent intent = new Intent();intent.setAction("cctv.hlj.beijin");intent.putExtra("str", "iphone7");//普通广播 sendBroadcast(intent);

有序广播根据广播接受顺序发送 ,其他广播接受者可以接受修改此广播在发送给其他人

Intent intent = new Intent();        intent.setAction("cctv.hlj.beijin");        intent.putExtra("str", "iphone7");        //有序广播1        sendOrderedBroadcast(intent, null);        //有序广播2 并设置最终接受者 不管abortBroadcast();依然最后收到        sendOrderedBroadcast(intent, null,new BroadcastReceiver(){            @Override            public void onReceive(Context context, Intent intent) {                // TODO Auto-generated method stub            }        }, null, 0, null, null);

转载于:https://www.cnblogs.com/muyuge/p/6152199.html

你可能感兴趣的文章
Flutter学习笔记(一)
查看>>
iOS10 国行iPhone联网权限问题处理
查看>>
洛谷 P1991 无线通讯网
查看>>
[HIHO1184]连通性二·边的双连通分量(双连通分量)
查看>>
Codeforces Round #178 (Div. 2) B. Shaass and Bookshelf 【动态规划】0-1背包
查看>>
SparkStreaming 源码分析
查看>>
【算法】—— 随机音乐的播放算法
查看>>
mysql asyn 示例
查看>>
DataGrid 点击 获取 行 ID
查看>>
git 使用
查看>>
边框圆角方法
查看>>
asp.net WebApi自定义权限验证消息返回
查看>>
php中eval函数的危害与正确禁用方法
查看>>
20172315 2017-2018-2 《程序设计与数据结构》第十一周学习总结
查看>>
MySQL添加、修改、撤销用户数据库操作权限的一些记录
查看>>
关于谷歌浏览器Chrome正在处理请求的问题解决
查看>>
Git核心技术:在Ubuntu下部署Gitolite服务端
查看>>
平面波展开法总结
查看>>
建造者模式
查看>>
ArraySort--冒泡排序、选择排序、插入排序工具类demo
查看>>