1 package cn.bgxt.Broadcastdemo.Basic;
2
3 import android.content.BroadcastReceiver;
4 import android.content.Context;
6 import android.widget.Toast;
5 import android.content.Intent;
7
10 @Override
8 public class BasicBroadcast extends BroadcastReceiver {
9
12 Toast.makeText(context,
11 public void onReceive(Context context, Intent intent) {
15 }
13 "接收到Broadcast,消息为:" + intent.getStringExtra("msg"),
14 Toast.LENGTH_SHORT).show();
16 }
下面经过一个简单的示例,讲解一下BroadcastReceiver的声明,以及如何向这个BroadcastReceiver发送消息。
首先先声明一个BroadcastReceiver,BasicBroadcast.java:
1 package cn.bgxt.Broadcastdemo.Basic;
2
3 import android.content.BroadcastReceiver;
4 import android.content.Context;
6 import android.widget.Toast;
5 import android.content.Intent;
7
8 public class BasicBroadcast extends BroadcastReceiver {
9
10 @Override
11 public void onReceive(Context context, Intent intent) {
12 Toast.makeText(context,
13 "接收到Broadcast,消息为:" + intent.getStringExtra("msg"),
14 Toast.LENGTH_SHORT).show();
15 }
16 }
再声明一个Activity,用于发送Broadcast:BasicActivity.java:
1 package cn.bgxt.Broadcastdemo.Basic;
2
3 import com.bgxt.datatimepickerdemo.R;
4
5 import android.app.Activity;
6 import android.content.Intent;
7 import android.os.Bundle;
8 import android.view.View;
9 import android.widget.Button;
10
11 public class BasicActivity extends Activity {
12 Button btnBasicSendNormal, btnBasicSendOrdered;
13
14 @Override
15 protected void onCreate(Bundle savedInstanceState) {
16 super.onCreate(savedInstanceState);
17 setContentView(R.layout.activity_basic);
18
19 btnBasicSendNormal = (Button) findViewById(R.id.btnBasicSendNormal);
20 btnBasicSendOrdered = (Button) findViewById(R.id.btnBasicSendOrdered);
21 btnBasicSendNormal.setOnClickListener(new View.OnClickListener() {
22
23 @Override
24 public void onClick(View v) {
25 Intent broadcast=new Intent();
26 broadcast.setAction("cn.bgxt.Broadcastdemo.Basic.broadcast");
27 broadcast.putExtra("msg", "这是一个普通广播");
28 sendBroadcast(broadcast);
29 }
30 });
31
32 btnBasicSendOrdered.setOnClickListener(new View.OnClickListener() {
33
34 @Override
35 public void onClick(View v) {
36 Intent broadcast=new Intent();
37 broadcast.setAction("cn.bgxt.Broadcastdemo.Basic.broadcast");
38 broadcast.putExtra("msg", "这是一个有序广播");
39 sendOrderedBroadcast(broadcast, null);
40 }
41 });
42 }
43 }