1、BroadcastReceiver:
* 广播接收器,处理的是系统级别的;
* 事件的广播机制:构建Intent对象;
* 使用sendBroadcast()方法将广播发送出去;
* 事件的接受者是通过一个继承了BroadcastRecevier的类来实现,覆盖onReceive()方法;
2、android中标准的Broadcast Action来响应系统广播事件:
* ACTION_TIME_CHANGED 时间改变是触发;
* ACTION_BOOT_COMPLETED 系统启动完成后触发;
* ACTION_PACKAGE_ADDED 添加包时触发;
* ACTION_BATTERY_CHANGED 电量低时触发;
* 自定义Action;
3、小贴士:
* 四大组件:activity service broadcastreceiver contentprovider;
* 四大组件的使用都必须进行注册;
* 四大组件之间的交互使用Intent;
4、使用案例:自定义广播的使用!
Activity代码如下:
package com.example.broadcastreceiver;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class MaiActivity extends Activity {
private Button broadcastRecevierBtn;
private final String MY_ACTION = "android.com.example.broadcastreceiver.action.MYACTION";
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
/* 获取组件对象 */
broadcastRecevierBtn = (Button) findViewById(R.id.broadcastReceiver);
/* 设置按钮点击事件监听器 */
broadcastRecevierBtn.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO 执行动作:发送广播
/* 构建Intent对象, 实现组件之间的跳转intent:目的 */
/* 已知目的地组件的名称,使用该种方式 */
//Intent intent = new Intent(MaiActivity.this,MyBroadcastReceiver.class);
/* 当跳转到的组件不确定的时候,则:根据动作(action 的值)由系统自动判定跳转到何处 */
Intent intent = new Intent();
/* 设置Intent对象的action属性 */
intent.setAction(MY_ACTION);
/* 为Intent对象添加附加信息 */
intent.putExtra("msg", "发送广播测试成功.....");
/* 发布广播 */
sendBroadcast(intent);
}
});
}
}
广播事件的接受者(一个继承了BroadcastReceiver的类)
package com.example.broadcastreceiver;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.widget.Toast;
/* 广播接收器 ,响应发送广播的操作 *//* 接受广播 */
public class MyBroadcastReceiver extends BroadcastReceiver {
/* 覆写该方法,对广播事件执行响应的动作 */
public void onReceive(Context context, Intent intent) {
/* 获取Intent对象中的数据 */
String msg = intent.getStringExtra("msg");
/* */
Toast.makeText(context, msg, 1000).show();
}
}
注册代码:
<!-- 为广播接收组件注册 -->
<receiver android:name=".MyBroadcastReceiver">
<intent-filter>
<action android:name="android.com.example.broadcastreceiver.action.MYACTION" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</receiver>
效果图:
分享到:
相关推荐
**Android Studio 自定义广播详解** 在 Android 应用开发中,广播接收器(BroadcastReceiver)是一种重要的组件,它允许应用程序监听并响应系统或应用广播事件。Android Studio 是 Google 推出的官方集成开发环境...
在Android系统中,BroadcastReceiver(广播接收者)是四大组件之一,它负责监听系统或应用程序发布的广播消息。BroadcastReceiver能够使应用在不运行的情况下对特定事件做出响应,从而实现跨应用通信。本示例将详细...
总结,自定义广播发送端源码是Android开发中不可或缺的一部分,它实现了应用程序之间的异步通信。通过创建BroadcastIntent、设置ACTION和数据,再使用Context发送广播,我们可以实现特定功能。同时,通过创建...
通过分析和实践这些示例代码,开发者可以更深入地理解Android自定义广播的工作原理,并将其应用到自己的项目中,例如在不同的组件间传递状态信息、在后台服务与活动间通信,或者其他需要异步通信的场景。总的来说,...
本示例“BroadcastReceiver自定义消息”主要探讨如何创建和使用自定义的广播接收器来处理非系统默认的广播消息。我们将深入讨论`BroadcastReceiver`的工作原理,以及如何在应用程序中有效地利用它。 首先,`...
本文将深入探讨如何在Android中创建和使用自定义广播,以及其工作原理和最佳实践。 首先,理解Android广播的基本概念是至关重要的。广播Intent是Android系统用来在应用程序之间传递消息的对象,它可以携带数据并...
在Android系统中,BroadcastReceiver(广播接收者)是四大组件之一,它扮演着接收系统或应用广播消息的重要角色。BroadcastReceiver使得应用可以在不运行的情况下,响应系统或其它应用发出的事件,例如系统启动完成...
BroadcastReceiver(广播接收器)是Android四大组件之一,用于监听并接收系统或应用发布的广播事件。下面将详细阐述Android广播机制以及如何注册BroadcastReceiver。 1. Android广播机制: - 广播分为有序广播和...
在本篇文章中,我们将深入探讨如何实现Android中的自定义广播,包括发送广播、处理隐式广播以及设定广播接收权限。 首先,让我们理解广播的基本概念。在Android中,广播分为两种类型:显式广播和隐式广播。显式广播...
android studio 自定义广播 这次记录的主要是我对广播的一些理解 自定义广播的静态注册与使用 一.静态广播的注册 到AndroidMainfest.xml文件当中进行注册(注意必须得要将receiver写在application的里面) Android:...
自定义广播是开发者自己定义的动作,用于应用间的通信。例如,定义一个名为`com.example.MY_ACTION`的广播,发送命令如下: ``` adb shell am broadcast -a com.example.MY_ACTION ``` 5. **添加额外数据** 在...
在本文中,我们将深入探讨自定义广播(标准广播),这是Android中实现跨应用通信的一种方式。 首先,我们要了解什么是标准广播(Broadcast)。在Android中,广播分为两种类型:标准广播(Normal Broadcast)和有序...
在Android系统中,跨应用程序广播(Cross-App Broadcasting)是一种通信机制,允许应用程序之间传递消息,无需知道接收方确切的身份。这种机制对于组件间的解耦合以及系统事件的全局通知非常有用。本篇文章将深入...
在Android系统中,广播BroadcastReceiver是一种非常重要的组件,它允许应用程序接收并响应系统或自定义广播事件。广播是Android系统中的一种全局通知机制,当某个事件发生时,系统会发送一个广播,所有注册了该事件...
8. 自定义广播可以通过自定义 `Intent` 的 `action` 来实现,让不同应用之间可以进行通信。 9. 对于动态注册的 `BroadcastReceiver`,记得在不再需要接收广播时使用 `Context.unregisterReceiver()` 进行注销,以...
广播接收器(BroadcastReceiver)是Android四大组件之一,它可以在不运行的情况下接收并处理系统或应用广播事件。这里我们将深入探讨自定义广播、有序广播以及如何创建和使用广播接收器。 **自定义广播** 自定义...
在Android系统中,广播BroadcastReceiver是一种非常重要的组件,它允许应用程序接收并响应系统或自定义事件,例如设备连接状态变化、网络可用性更新等。在这个教学demo实例中,我们将深入探讨动态注册、静态注册以及...
综上所述,自定义广播是Android应用程序间通信的重要方式之一,它允许开发者在不同应用间传递信息,实现系统的事件响应和状态同步。正确理解和运用自定义广播,能够帮助我们构建更高效、灵活的应用程序。
在Android系统中,BroadcastReceiver(广播接收者)是四大组件之一,它负责监听并响应系统或应用程序发布的广播意图(Intent)。BroadcastReceiver可以帮助我们的应用在不运行时也能接收到消息,从而实现后台运行的...