android 广播机制

来源:互联网 发布:java细粒度数据级权限 编辑:程序博客网 时间:2024/06/13 10:32
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.LinearLayout;import android.widget.Toast;public class Test extends Activity{private final String ACTION_NAME = "发送广播";private Button mBtnMsgEvent = null;protected void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);//注册广播registerBoradcastReceiver();LinearLayout mLinearLayout = new LinearLayout(this);mBtnMsgEvent = new Button(this);mBtnMsgEvent.setText("发送广播");mLinearLayout.addView(mBtnMsgEvent);setContentView(mLinearLayout);mBtnMsgEvent.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {Intent mIntent = new Intent(ACTION_NAME);mIntent.putExtra("yaner", "发送广播,相当于在这里传送数据");//发送广播sendBroadcast(mIntent);}});}private BroadcastReceiver mBroadcastReceiver = new BroadcastReceiver(){@Overridepublic void onReceive(Context context, Intent intent) {String action = intent.getAction();if(action.equals(ACTION_NAME)){Toast.makeText(Test.this, "处理action名字相对应的广播", 200);}}};public void registerBoradcastReceiver(){IntentFilter myIntentFilter = new IntentFilter();myIntentFilter.addAction(ACTION_NAME);//注册广播      registerReceiver(mBroadcastReceiver, myIntentFilter);}}

广播的添加方式有两种。You can either dynamically register an instance of this class with Context.registerReceiver() or statically publish an implementation through the <receiver> tag in your AndroidManifest.xml.

0 0