Android 四大组件学习之BroadcastReceiver二

上节学习了如何创建一个广播,也尝试接受系统打电话的广播。本节课学习如何自定义广播。自定义广播实质上也就是创建一个发送广播者,创建一个接受该广播者。

那我们就开始行动吧。

先创建一个发送广播的应用:

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    public void sendBroadcast(View v)
    {
    	//广播发送也是采用的intent发送,数据也是采用intent传值
    	Intent intent = new Intent();
    	//设置此广播的action,用于接收者介绍
    	intent.setAction("com.demo.broadcastReceiver");
    	//设置广播的数据
    	intent.putExtra("broadcast", "您好,您本月收到3wRMB工资!!!");
    	//发送广播
    	sendBroadcast(intent);
    }
}

当点击发送广播的按钮,就会发送一条自定义的广播

接着创建另一个应用用于接收广播:

public class MyBroadcastReceiver extends BroadcastReceiver {

	@Override
	public void onReceive(Context context, Intent intent) {
		// TODO Auto-generated method stub
		//得到广播的数据
		Bundle data = intent.getExtras();
		String broadString = data.getString("broadcast");

		//显示
		Toast.makeText(context, broadString, 0).show();
	}
}

记得此广播接受者必须要清单文件中配置:

        <receiver android:name="com.demo.broadcastreceiveractivity.MyBroadcastReceiver">
            <intent-filter>
                <action android:name="com.demo.broadcastReceiver"/>
            </intent-filter>
        </receiver>

广播接受者的action必须和自定义时候设置的action一样,不然就会介绍不到广播的

演示效果如下:

可以从上图看到,的确是收到了自定义的广播。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-05 20:34:45

Android 四大组件学习之BroadcastReceiver二的相关文章

Android 四大组件学习之BroadcastReceiver一

本节课学习四大组件最后一个, 广播接受者. 顾名思义广播接受者就是接受广播呗.比如在现实社会中,以前每个人家都有一台收音机,这可就可以去接受广播发出来的消息.大家都知道,程序世界也是参照的显示生活设计出来的,那在Android系统中也引入了广播这个概念.那在Android系统中广播有什么作用呢? 举个例子:比如你正在玩游戏或者看视频突然手机电量过低,这时候就会弹出一个框,提醒您手机电量过低,请充电的提示.其实电量改变就是一种广播类型,当电量过低时,系统就会发生一条广播,这时候正在运行的程序就会收

Android 四大组件学习之BroadcastReceiver四

本节学习系统中特殊的广播接收者. 我们前面几节不是说了,当广播接受者一旦注册到系统中,当系统发送的广播和你注册的广播的action匹配时,系统就会启动广播接收者所在的进程.除非用户手动停止广播接收者所在的进程.但是生活中有这样一种情况,比如说:我在玩网络游戏,假设说游戏本身在系统电量低的情况下,会自动保存当前游戏的进度,也就是存档的.可以这么说,此广播接受者只有在用户玩游戏时才需要启动,别的时候用户是不需要的.如果此广播接收者一直常驻于系统,那不是很浪费系统资源.所以我们就需要动态的启动广播接收

Android 四大组件学习之Activity二

上一节学习如何创建一个Activity,以及如何加载界面. 这一节学习,如何从一个Activity跳转到另外一个Activity. 首先: 先创建二个Activity, 我就用上节课的MainActivity和SecondActivity MainActivity的布局文件,就随便拖放一个TextView和一个Button: <TextView android:id="@+id/textView1" android:layout_width="wrap_content&

Android 四大组件学习之ContentProvider二

上节学习了什么是ContentProvider.以及ContentProvider的作用.以及什么是URL.本节就对上节学习的知识做一个实践,也就是定义自己的ContentProvider 好.实践是检验真理的唯一标准. 那我们就開始行动吧 第一步: 创建一个自己的ContentProvider,我取名为MyContentProvider public class MyContentProvider extends ContentProvider { @Override public int d

Android 四大组件学习之Service二

上节学习如何创建了一个Service,并且用Activity启动一个Service.这节我们在上节的基础上更加完善 这节学习用StartServer启动服务,并且在服务中每隔一秒打印出当前时间 举例说明: MyActivity代码: public class MyActivity extends Activity { private Button btn_start; private Button btn_end; @Override protected void onCreate(Bundle

Android学习之路——Android四大组件之activity(二)

上一篇讲了activity的创建和启动,这一篇,我们来讲讲activity的数据传递 activity之间的数据传递,这里主要介绍的是activity之间简单数据的传递,直接用bundle传递基本数据类型的数据.还有一种数据类型是parcelable和serialable 用bundle 传递数据有两种情况,这篇文章就分别从两个方面说明一下. 一.利用bundle传递基本数据类型 1.启动时传递数据,使用intent的put方法,将数据写入bundle中,然后startActivity(inte

Android 四大组件学习之Activity一

Activity是Android四大组件中最基础也是最常用的组件之一.Activity作为一个应用程序组件,提供了一个与用户交互的界面.可以这么说Activity是和用户操作有密切相关的的,常用来负责与用户交互,可以通过setContentView来显示组件. 今天我们学习如何去创建一个Activity 第一步: 创建一个Android Application Project, 填入应用名称,工程名称,包名 点击Next下一步:下面的选择都是默认的. 直到 你就可以选择一个Activity进行创

android四大组件学习总结以及各个组件示例(1)

android四大组件分别为activity.service.content provider.broadcast receiver. 一.android四大组件详解 1.activity (1)一个Activity通常就是一个单独的屏幕(窗口). (2)Activity之间通过Intent进行通信. (3)android应用中每一个Activity都必须要在AndroidManifest.xml配置文件中声明,否则系统将不识别也不执行该Activity. (4)Activity生命周期>什么是

Android 四大组件学习之ContentProvider一

ContentProvider作为四大组件之一,那它存在一定是有原因的? 那为什么引用ContentProvider呢?  我们先看一个例子. 大家在生活中用手机,比如你按了360手机管家, 其中360手机管家就有一个短信,通话记录,联系人备份的功能.那手机里的短信,联系人都是存放在数据库中的 比如联系人的信息是存放在contacts2.db中.既然数据是存放在数据库中的,那360手机管家就必须拿到这个数据.但是contac2.db对别的用户是没有权限的.那360是如何拿到手机联系人这些信息呢?