我在看一些关于广播的基础的时候,总是看到不明不白的,直到后来真正用到了,才明天广播的强大,至少目前为止我是认为它强大的。  

在要接收广播的Activity中添加内部类继承于BroadcastReceiver类:

class DeleteMailsReceiver extends BroadcastReceiver {@Overridepublic void onReceive(Context context, Intent intent) {boolean result = intent.getBooleanExtra("result", false);if (result) {Toast.makeText(ActMailShow.this, "删除成功!", 100);} else {Toast.makeText(ActMailShow.this, "删除失败……", 100);}}}
然后在使用的类中声明以上类:
private DeleteMailsReceiver deleteRece;

在onCreate中初始化:

 deleteRece = new DeleteMailsReceiver();
让使用的Activity重载Activity的onStart函数和onStop函数:

@Overrideprotected void onStart() {super.onStart();LocalBroadcastManager.getInstance(this).registerReceiver(deleteRece,new IntentFilter("MU_MAIL_DELETEMAILS_RESULT"));}@Overrideprotected void onStop() {super.onStop();LocalBroadcastManager.getInstance(this).unregisterReceiver(deleteRece);}
以上就是在接收广播的时候要的代码。当需要完成一个任务的时候,就调用其他类为其完成任务,然后就发送广播,广播中包含了所需的信息,继续在这个Activity中根据得到结果进行处理。比如如上要完成删除任务,在调用数据库中相关函数删除之后要返回是不是已经成功删除了,在根据石佛已经成功删除显示出不同的Toast。

发送广播是在一个继承Service的类实现的,在完成了任务后就要发送广播到调用的Activity类:

Intent i = new Intent("MU_MAIL_DELETEMAILS_RESULT");i.putExtra("result", result);//result是成功与否的标识LocalBroadcastManager.getInstance(this).sendBroadcast(i);
如上就是广播机制的一个应用。






更多相关文章

  1. 关于使用AccountManager的remove删除Android帐号的细节
  2. 【记录】Android(安卓)广播的发送与接收
  3. 记android输入框添加删除功能
  4. Android(安卓)ListView侧滑删除
  5. android重试执行
  6. Android4.0有时接收不到开机广播
  7. android 如何做到完全退出应用程序
  8. Android模拟机出现Installation failed due to invalid APK file
  9. Android中Window添加View的底层原理

随机推荐

  1. 如何避免android上的进程的内存限制
  2. Gradle常见错误解决
  3. [android]控件EditText常用属性
  4. Android事件分发机制完全解析,带你从源码
  5. android中listview的setAdapter()和getAd
  6. Android横竖屏切换测试记录
  7. 转- ADB(Android(安卓)Debug Bridge)技术
  8. Android耳机声音自动调整
  9. ubuntu android studio ndk 配置
  10. 调用Android系统设置中的Intent