Android 系统广播动态注册
package com.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.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.Toast; public class MainActivity extends Activity { Button btn = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btn = (Button)findViewById(R.id.sendBroadcasrt); btn.setOnClickListener(new OnClickListener() { public void onClick(View v) { Intent intent = new Intent(); intent.setAction("dynamic_Broadcast"); intent.putExtra("message", "send Broadcast"); sendBroadcast(intent); } }); //增加过滤 IntentFilter intentFilter = new IntentFilter(); //增加过滤intent内容 intentFilter.addAction("dynamic_Broadcast"); MyBroadCast mr = new MyBroadCast(); //向系统注册广播接收器 和intent过滤器 this.registerReceiver(mr, intentFilter); } //创建自己的广播接收类 实现onReceive方法 class MyBroadCast extends BroadcastReceiver{ public void onReceive(Context context, Intent intent) { StringBuilder sb = new StringBuilder(); sb.append(intent.getAction()).append(" ,message:").append(intent.getStringExtra("message")); Toast.makeText(MainActivity.this, sb.toString(), Toast.LENGTH_SHORT).show(); } } }
实例intent 设置信息 发送广播。
增加IntentFilter 过滤器 过滤广播
向系统注册广播和IntentFilter
实现自己的广播接收器类
在对应的生命周期里注销Broadcast广播过滤器
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。