您的位置:首页 > 其它

简单的广播发送与接收

2011-08-11 10:32 260 查看
发送端:

public class MainActivity extends Activity { //先在布局文件main.xml中定义一个Button

/*

*

* <Button

* android:layout_width="fill_parent"

* android:layout_height="wrap_content"

* android:text="@string/button_send"

* android:id="@+id/send_broadcast_button"

* />

*

*/

private Button send_broadcast_button; @Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

send_broadcast_button = (Button) this.findViewById(R.id.send_broadcast_button);

send_broadcast_button.setOnClickListener(new SendBroadcast());

}

private class SendBroadcast implements View.OnClickListener { @Override

public void onClick(View v) {

Intent intent = new Intent();

intent.setAction("cn.abel.action.broadcast");

//要发送的内容

intent.putExtra("author", "Abel");

//发送 一个无序广播

MainActivity.this.sendBroadcast(intent);

}

}

}

接收端:

public class MainActivity extends Activity {

/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

IntentFilter intentFilter = new IntentFilter();

intentFilter.addAction("cn.abel.action.broadcast");

this.registerReceiver(new MyBroadcastReciver(), intentFilter);

}

private class MyBroadcastReciver extends BroadcastReceiver { @Override

public void onReceive(Context context, Intent intent) {

String action = intent.getAction();

if(action.equals("cn.abel.action.broadcast")) {

String author = intent.getStringExtra("author");

//在控制台显示接收到的广播内容

System.out.println("author==>"+author);

//在android端显示接收到的广播内容

Toast.makeText(MainActivity.this, author, 1).show();

//在结束时可取消广播

//MainActivity.this.unregisterReceiver(this);

}

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: