1.创建程序: 程序对应的布局文件(activity_main.xml)如下:
<?xml version="1.0" encoding="utf-8"?> <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" android:background="@drawable/stitch" tools:context="cn.edu.bzu.myapplication.MainActivity"> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:onClick="send" android:layout_marginTop="50dp" android:text="发送求救广播" android:paddingLeft="5dp" android:paddingRight="5dp" android:background="#FFD2D2" android:textSize="20sp"/> </RelativeLayout>Mainactivity的代码如下:
package cn.edu.bzu.myapplication; import android.content.Intent; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } public void send(View view){ Intent intent=new Intent(); intent.setAction("Help_Stitch"); sendBroadcast(intent); } }2.添加广播接收者:MyBroadcastReceiver 代码如下:
package cn.edu.bzu.myapplication; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.util.Log; public class MyBroadcastReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { Log.i("MyBroadcastReceiver","自定义的广播接收者,接收到了求救广播事件"); Log.i("MyBroadcastReceiver",intent.getAction()); } }在清单文件中注册广播接收者MyBroadcastReceiver,代码如下:
<receiver android:name=".MyBroadcastReceiver" android:enabled="true" android:exported="true"> <intent-filter> <action android:name="Help_Stitch"/> </intent-filter> </receiver>3.运行程序发送广播
需要注意的是:自定义广播的类型与广播接收者在清单文件中配置的类型要一致,否则无法接受广播。