Android BroadcastReceiver

(学习mars老师的视频)

注册的方式

有两种:

一个是在AndroidManifest.xml中声明:

<receiver android:name=".Test_Receiver" >

<intent-filter>

<action android:name="android.intent.action.sss" />

</intent-filter>

</receiver>

类文件里面的代码:

Intent intent = new Intent();

intent.setAction("android.intent.action.sss");

Test_BCActivity.this.sendBroadcast(intent);

另一个是代码注册:

绑定receiver

publicstaticfinal String SMS_RECEIVED_ACTION = "android.provider.Telephony.SMS_RECEIVED";

// 生成一个receiver对象

receiver = new Test_Receiver();

// 生成一个filter对象

IntentFilter intentFilter = new IntentFilter();

// filter添加一个action

intentFilter.addAction(SMS_RECEIVED_ACTION);

Test_BCActivity.this.registerReceiver(receiver, intentFilter);

解除绑定receiver

Test_BCActivity.this.unregisterReceiver(receiver);

两者的主要区别是,xml文件中注册的广播机制,在应用程序关闭之后,依然运行。一直运行。通过代码注册的广播是在应用程序关闭之后是关闭的,及时生效。

关于receiver类的代码

publicclass Test_Receiver extends BroadcastReceiver {

public Test_Receiver() {

Log.d("Test_Receiver", "构造函数");

}

@Override

publicvoid onReceive(Context context, Intent intent) {

// TODO Auto-generated method stub

Log.d("Test_Receiver", "OnReceive");

}

}

更多相关文章

  1. 如何在eclipse中查看Android各版本源代码
  2. Android 一键清理内存,缓存,文件代码
  3. android 怎样通过暗码启动应用程序
  4. Android纯代码写布局
  5. 第一行代码-9.6 服务的最佳实践--后台执行的定时任务

随机推荐

  1. 技术分享:NodeJS中的Events(事件触发器)讲
  2. 个人简历
  3. Cloudera独家回应:Hadoop到底怎么了?
  4. AWS 大数据实战 Lab5 - 数据仓库和可视化
  5. 想了解大厂如何做推荐?Facebook开源深度学
  6. SumSwap欲挑战并超越Uniswap的王者地位
  7. FPGA是伪通用加速器?或许只是抽象层走偏了
  8. 入门教程:5步创建K8S Job,搞定批处理
  9. 由收购引发的思考:为何BI足以让两大巨头砸
  10. 进击的实时数仓:Flink在OPPO实时计算平台