1、定义一个 BroadcastReceiver :
private BroadcastReceiver receiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
Log.i(TAG, "will finish...." + intent.getAction());
finish();
}
};
2、在oncreate 方法中进行注册:
registerReceiver(receiver, new IntentFilter(ACTION));
3、使用的时候:
Intent intent = new Intent();
intent.setAction(ACTION);
sendBroadcast(intent);
4、在onDestroy 方法中进行注销,反复注销会报错:
unregisterReceiver(receiver);
Log.i(TAG, "has unregist....");
分享到:
相关推荐
- 如果需要在BroadcastReceiver中启动新的Activity,记得设置FLAG_ACTIVITY_NEW_TASK,以防止应用崩溃。 在"AboutBroadcast"这个文件夹中,可能包含了关于BroadcastReceiver的示例代码,你可以通过阅读和运行这些...
这个"android demo,BroadcastReceiver源代码的实现"是一个示例,旨在帮助开发者理解如何在实际应用中使用BroadcastReceiver。 BroadcastReceiver的工作原理是基于Android的事件驱动模型。当系统或应用发送一个广播...
本测试代码着重展示了BroadcastReceiver的工作原理和使用方法。 在`Lesson_22_code.zip`和`Lesson_21_code.zip`这两个压缩包中,可能包含以下关键知识点: 1. **BroadcastReceiver注册**: - 静态注册:在...
3. **注册和注销Receiver**:在某些情况下,你可能希望只在特定条件下接收广播,这时可以在代码中动态注册和注销BroadcastReceiver。例如,在Activity的`onCreate()`中注册,在`onDestroy()`中注销。 4. **自定义...
- 动态注册:在代码中进行注册和注销,这种方式更灵活,但需要在适当的时候(如Activity的`onResume()`)注册,在不再需要时(如Activity的`onPause()`)注销。 ```java registerReceiver(new NetworkChangeReceiver...
同时,还需要学习如何在BroadcastReceiver中处理ACTION(动作)和EXTRA(附加数据),以及如何发送自定义广播。 5. **实际应用**: BroadcastReceiver在Android开发中有着广泛应用,比如监听网络状态变化、系统...
动态注册在代码中完成,需在需要时注册,不再需要时解除注册,这样可以提高应用性能。 以下是一些关于Intent和BroadcastReceiver的关键知识点: 1. **Intent构造与数据传递**: - 创建Intent时,可以使用`Intent ...
综上所述,BroadcastReceiver在Android开发中扮演着重要角色,它的生命周期管理和正确使用是确保应用能及时、有效地响应广播的关键。同时,理解源码可以帮助我们更好地定制和优化BroadcastReceiver的行为。
- **动态注册**:在代码中通过`Context.registerReceiver()`方法注册,这种方式的好处是灵活,可以在需要的时候进行注册与注销。但是动态注册的`BroadcastReceiver`只能监听在程序运行期间发生的广播。 - **静态...
本文主要探讨了BroadcastReceiver的注册方式,包括静态注册和动态注册,以及它们的生命周期、广播类型和使用场景。 首先,BroadcastReceiver的生命周期与注册方式密切相关。静态注册通常在AndroidManifest.xml文件...
本篇文章将聚焦于BroadcastReceiver,讲解如何在Android应用中使用它,特别是静态注册和动态注册的方法,以及如何发送普通广播。 BroadcastReceiver是Android中处理系统广播事件的组件。它允许应用程序接收并响应...
2. **动态注册**:在代码中进行注册,通常在需要时注册,不需要时注销。优点是节省内存,缺点是当应用未运行时无法接收到广播。 ```java IntentFilter filter = new IntentFilter(); filter.addAction(...
当不再需要BroadcastReceiver时,记得在`onPause()`或`onDestroy()`方法中使用`unregisterReceiver()`注销它。 发送短信可以通过`SmsManager`类实现。以下是一个简单的示例: ```java SmsManager smsManager = ...
2. 动态注册:在代码中进行,需要手动注册和注销,只有在注册后才能接收到广播,适合需要临时监听特定事件的情况。 三、注意事项 1. 动态注册的广播接收器仅在当前进程和当前Activity的上下文中有效。如果应用被...
动态注册是在代码中通过`registerReceiver()`方法进行,优点是灵活性高,可以随时注册和注销;而静态注册则是在AndroidManifest.xml文件中声明,即使应用不在运行状态,也能接收到广播,但可能会增加内存消耗。 ...
动态注册则在代码中完成,通常在需要接收广播时注册,在不再需要时注销,这样可以更灵活地控制广播接收,但会错过应用未运行时的广播。 BroadcastReceiver的生命周期由onReceive()方法定义,当接收到匹配的广播时,...
动态注册是通过代码来实现的,通常在需要时(比如Activity或Service的生命周期方法中)创建并注册BroadcastReceiver,而在不再需要时注销。这种方式更灵活,但缺点是只有在应用运行并且BroadcastReceiver处于活动...
这种注册方式的BroadcastReceiver随着Activity的生命周期存在,当Activity销毁时,需要手动注销BroadcastReceiver以避免内存泄漏。下面是如何动态注册的示例: ```java // 创建BroadcastReceiver实例 ...
4. **注册与注销BroadcastReceiver**:在Activity的`onCreate()`方法中注册BroadcastReceiver,并在`onPause()`或`onDestroy()`中注销,以避免内存泄漏。 以上就是BroadcastReceiver通过接口回调更新界面的基本实现...