电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術(shù)文章
文章詳情頁

Android BroadcastReceiver廣播簡單使用

瀏覽:80日期:2022-09-19 10:07:21

本文實(shí)例為大家分享了Android BroadcastReceiver廣播使用的具體代碼,供大家參考,具體內(nèi)容如下

靜態(tài)的BroadcastReceiver

主要代碼

public class MyReceiver extends BroadcastReceiver { @Override //接受廣播時(shí)回調(diào) public void onReceive(Context context, Intent intent) {//接收廣播 if(intent != null){ //接收到是什么廣播 String action = intent.getAction(); Log.e('測試',action); } }}

在AndroidManifest.xml里設(shè)置權(quán)限

<receiver android:name='.MyReceiver'> <!--接受廣播類型--> <intent-filter><!--開機(jī)廣播--><action android:name='android.intent.action.BOOT_COMPLETED'/><!--電量低廣播--><action android:name='android.intent.action.BATTERY_LOW'/><!--應(yīng)用卸載--><action android:name='android.intent.action.PACKAGE_REMOVED'/><!--應(yīng)用安裝--><action android:name='android.intent.action.PACKAGE_INSTALL'/><!--數(shù)據(jù)類型--><data android:scheme='package'/> </intent-filter></receiver>

動(dòng)態(tài)的BroadcastReceiver

主要代碼

1.設(shè)置一個(gè)Java類繼承BroadcastReceiver

public class MyReceiverD extends BroadcastReceiver { @Override //接受廣播時(shí)回調(diào)(不能做耗時(shí)操作,必須開子線程) public void onReceive(Context context, Intent intent) { //接收廣播 if(intent != null){//接收到是什么廣播String action = intent.getAction();Log.e('測試',action); }} }

在AndroidManifest.xml里設(shè)置權(quán)限

<!--動(dòng)態(tài)注冊--><receiver android:name='.MyReceiverD'>//因?yàn)槭莿?dòng)態(tài)設(shè)置就不需要在里面設(shè)置別的了</receiver>

3.MainActivity

//新建一個(gè)廣播接收器 動(dòng)態(tài)廣播receiverD = new MyReceiverD();//接收那種廣播IntentFilter intentFilter = new IntentFilter();intentFilter.addAction(Intent.ACTION_PACKAGE_REMOVED);intentFilter.addDataScheme('package');intentFilter.addAction(Intent.ACTION_BATTERY_LOW);//注冊廣播接收器registerReceiver(receiverD,intentFilter);protected void onDestroy() {super.onDestroy();//取消注冊關(guān)閉接收器if (receiverD != null){ unregisterReceiver(receiverD);} }

隨便卸載一個(gè)應(yīng)用控制臺就會(huì)顯示

Android BroadcastReceiver廣播簡單使用

自定義的BroadcastReceiver

1.還是準(zhǔn)備一個(gè)Java繼承BroadcastReceiver

public class MyReceiverD_zdy extends BroadcastReceiver { private TextView txt; public MyReceiverD_zdy(TextView txt) {this.txt = txt; } public MyReceiverD_zdy() { } @Override public void onReceive(Context context, Intent intent) {//接收廣播if(intent != null){ //接收到是什么廣播 String action = intent.getAction(); Log.e('測試',action); //判斷是什么廣播,是否是自己自定義的廣播 if (TextUtils.equals(action,MainActivity.MY_ACTION)){//獲取廣播攜帶的數(shù)據(jù)String content = intent.getStringExtra(MainActivity.BROADCAST_CONTENT); if (txt != null){ txt.setText('接收到的action是:'+action+'n接收到的內(nèi)容是'+content); } }} }}

2.activity_main.xml

<?xml version='1.0' encoding='utf-8'?><LinearLayout xmlns:android='http://schemas.android.com/apk/res/android' xmlns:app='http://schemas.android.com/apk/res-auto' xmlns:tools='http://schemas.android.com/tools' android:layout_width='match_parent' android:layout_height='match_parent' tools:context='.MainActivity' android:orientation='vertical' android:padding='16dp' > <TextViewandroid:layout_width='match_parent'android:layout_height='wrap_content'android:text='請輸入發(fā)送內(nèi)容:'/> <EditTextandroid: android:layout_width='match_parent'android:layout_height='50dp'android:layout_marginTop='16dp'/> <Buttonandroid: android:layout_width='match_parent'android:layout_height='wrap_content'android:layout_marginTop='16dp'android:layout_gravity='center_horizontal'android:text='發(fā)送廣播'/> <TextViewandroid: android:layout_width='match_parent'android:layout_height='wrap_content'android:layout_marginTop='16dp'android:text='收到的內(nèi)容:'/></LinearLayout>

3.MainActivity

public class MainActivity extends AppCompatActivity { private MyReceiverD receiverD; private MyReceiverD_zdy receiverDZdy; private Button bnt; private EditText etxt; private TextView txt; public static final String MY_ACTION = 'com.example.my'; public static final String BROADCAST_CONTENT = 'cs'; @Override protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);initView();//設(shè)置應(yīng)用主頁面的標(biāo)題setTitle(getPackageName()); //新建廣播接收器receiverDZdy = new MyReceiverD_zdy(txt);//注冊廣播接收器//為廣播添加ActionIntentFilter intentFilter = new IntentFilter();intentFilter.addAction('android.intent.action,PACKAGE_REMOVED');//自定義intentFilter.addAction(MY_ACTION);//注冊廣播接收器registerReceiver(receiverDZdy,intentFilter);bnt.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) {//新建廣播 自定義Intent intent = new Intent(MY_ACTION);//攜帶數(shù)據(jù)intent.putExtra(BROADCAST_CONTENT,etxt.getText().toString());//發(fā)送廣播sendBroadcast(intent); }}); } protected void onDestroy() {super.onDestroy();//取消注冊關(guān)閉接收器if (receiverDZdy != null){ unregisterReceiver(receiverDZdy);} } private void initView() {//初始化etxt = (EditText) findViewById(R.id.etxt);txt =(TextView) findViewById(R.id.txt);bnt =(Button) findViewById(R.id.bnt); }}

樣式

Android BroadcastReceiver廣播簡單使用

當(dāng)然也可以實(shí)現(xiàn)不同app接受發(fā)送的廣播內(nèi)容復(fù)制代碼換app名字,當(dāng)前app發(fā)送的廣播新的app也可以接收到

Android BroadcastReceiver廣播簡單使用

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Android
相關(guān)文章:
主站蜘蛛池模板: 洁净化验室净化工程_成都实验室装修设计施工_四川华锐净化公司 | 中国品牌排名投票_十大品牌榜单_中国著名品牌【中国品牌榜】 | 云南丰泰挖掘机修理厂-挖掘机维修,翻新,再制造的大型企业-云南丰泰工程机械维修有限公司 | 数显恒温培养摇床-卧式/台式恒温培养摇床|朗越仪器 | 二氧化碳/活性炭投加系统,次氯酸钠发生器,紫外线消毒设备|广州新奥 | 北京翻译公司_同传翻译_字幕翻译_合同翻译_英语陪同翻译_影视翻译_翻译盖章-译铭信息 | 南昌旅行社_南昌国际旅行社_南昌国旅在线 | 地源热泵一体机,地源热泵厂家-淄博汇能环保设备有限公司 | 聚氨酯催化剂K15,延迟催化剂SA-1,叔胺延迟催化剂,DBU,二甲基哌嗪,催化剂TMR-2,-聚氨酯催化剂生产厂家 | 广州活动策划公司-15+年专业大型公关活动策划执行管理经验-睿阳广告 | 立式矫直机_卧式矫直机-无锡金矫机械制造有限公司 | 螺旋丝杆升降机-SWL蜗轮-滚珠丝杆升降机厂家-山东明泰传动机械有限公司 | 科普仪器菏泽市教育教学仪器总厂 | 银川美容培训-美睫美甲培训-彩妆纹绣培训-新娘化妆-学化妆-宁夏倍莱妮职业技能培训学校有限公司 临时厕所租赁_玻璃钢厕所租赁_蹲式|坐式厕所出租-北京慧海通 | 广州二手电缆线回收,旧电缆回收,广州铜线回收-广东益福电缆线回收公司 | 高柔性拖链电缆-聚氨酯卷筒电缆-柔性屏蔽电缆厂家-玖泰电缆 | 槽钢冲孔机,槽钢三面冲,带钢冲孔机-山东兴田阳光智能装备股份有限公司 | 安全阀_弹簧式安全阀_美标安全阀_工业冷冻安全阀厂家-中国·阿司米阀门有限公司 | 派财经_聚焦数字经济内容服务平台| 山东彩钢板房,山东彩钢活动房,临沂彩钢房-临沂市贵通钢结构工程有限公司 | 家用净水器代理批发加盟_净水机招商代理_全屋净水器定制品牌_【劳伦斯官网】 | 番茄畅听邀请码怎么输入 - Dianw8.com | 东莞螺杆空压机_永磁变频空压机_节能空压机_空压机工厂批发_深圳螺杆空压机_广州螺杆空压机_东莞空压机_空压机批发_东莞空压机工厂批发_东莞市文颖设备科技有限公司 | 电动卫生级调节阀,电动防爆球阀,电动软密封蝶阀,气动高压球阀,气动对夹蝶阀,气动V型调节球阀-上海川沪阀门有限公司 | 罗茨真空机组,立式无油往复真空泵,2BV水环真空泵-力侨真空科技 | 铆钉机|旋铆机|东莞旋铆机厂家|鸿佰专业生产气压/油压/自动铆钉机 | 蓝米云-专注于高性价比香港/美国VPS云服务器及海外公益型免费虚拟主机 | 运动木地板厂家_体育木地板安装_篮球木地板选购_实木运动地板价格 | 登车桥动力单元-非标液压泵站-非标液压系统-深圳市三好科技有限公司 | 哲力实业_专注汽车涂料汽车漆研发生产_汽车漆|修补油漆品牌厂家 长沙一级消防工程公司_智能化弱电_机电安装_亮化工程专业施工承包_湖南公共安全工程有限公司 | DWS物流设备_扫码称重量方一体机_快递包裹分拣机_广东高臻智能装备有限公司 | 青岛空压机,青岛空压机维修/保养,青岛空压机销售/出租公司,青岛空压机厂家电话 | 龙门加工中心-数控龙门加工中心厂家价格-山东海特数控机床有限公司_龙门加工中心-数控龙门加工中心厂家价格-山东海特数控机床有限公司 | 南京展台搭建-南京展会设计-南京展览设计公司-南京展厅展示设计-南京汇雅展览工程有限公司 | 双菱电缆-广州电缆厂_广州电缆厂有限公司 | 通辽信息港 - 免费发布房产、招聘、求职、二手、商铺等信息 www.tlxxg.net | 珠海冷却塔降噪维修_冷却塔改造报价_凉水塔风机维修厂家- 广东康明节能空调有限公司 | 衢州装饰公司|装潢公司|办公楼装修|排屋装修|别墅装修-衢州佳盛装饰 | 体检车_移动CT车_CT检查车_CT车_深圳市艾克瑞电气有限公司移动CT体检车厂家-深圳市艾克瑞电气有限公司 | 电动球阀_不锈钢电动球阀_电动三通球阀_电动调节球阀_上海湖泉阀门有限公司 | 武汉高低温试验机-现货恒温恒湿试验箱-高低温湿热交变箱价格-湖北高天试验设备 |