BroadcastReceiver广播接收者(一)——利用代码注册广播接收者

来源:互联网 发布:mac win7 usb3.0驱动 编辑:程序博客网 时间:2024/05/03 13:11

MainActivity如下:

package cc.testbroadcasta;import android.os.Bundle;import android.app.Activity;import android.content.Intent;import android.content.IntentFilter;/** * Demo描述: * 在代码中注册广播接收者 * 1 在onCreate()中注册广播接收者 * 2 在onDestroy()中取消注册广播接收者 */public class MainActivity extends Activity {    private BroadcastReceiverTest mBroadcastReceiverTest;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);//注册一个广播接收者registerAReceiver();//发送一个广播sendABroadcast();}private void registerAReceiver(){mBroadcastReceiverTest=new BroadcastReceiverTest();//为广播接收者设置IntentFilterIntentFilter intentFilter=new IntentFilter();intentFilter.addAction("cc.test");registerReceiver(mBroadcastReceiverTest, intentFilter);}private void sendABroadcast(){Intent intent = new Intent();// 设置Actionintent.setAction("cc.test");// 携带数据intent.putExtra("name", "周星驰");intent.putExtra("number", 9527);// 发送广播sendBroadcast(intent);}@Overrideprotected void onDestroy() {super.onDestroy();//取消广播接收者的注册if (mBroadcastReceiverTest!=null) {unregisterReceiver(mBroadcastReceiverTest);}}}


BroadcastReceiverTest如下:

package cc.testbroadcasta;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;public class BroadcastReceiverTest extends BroadcastReceiver {@Overridepublic void onReceive(Context context, Intent intent) {          String name=intent.getStringExtra("name");          int number=intent.getIntExtra("number", 0);          System.out.println("接收到广播 name="+name+",number="+number);}public static void main(String[] args) {}}

main.xml如下:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"   >    <TextView        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="在代码中注册广播接收者"         android:layout_centerInParent="true"/></RelativeLayout>



0 0
原创粉丝点击