本文主要是介绍广播接收者之自定义广播,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Android系统中自带了很多广播,如果需要监听某个广播只需创建对应的广播接收者即可。当这些系统级别的广播事件不能满足实际需要时,还可以自定义广播。需要注意的是,自定义广播需要由对应的广播接收者去接收,否则这个广播是无意义的。实现界面如下:
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 {@Overrideprotected 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 {@Overridepublic 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.运行程序发送广播
需要注意的是:自定义广播的类型与广播接收者在清单文件中配置的类型要一致,否则无法接受广播。
这篇关于广播接收者之自定义广播的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!