博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android receiver
阅读量:5733 次
发布时间:2019-06-18

本文共 1615 字,大约阅读时间需要 5 分钟。

可以在代码文件中声明一个receiver,也可以在manifest中声明一个,前者中的receiver只有在该activity launch起来以后才会监听其所感兴趣的事件,

而如果在androidManifext.xml中声明的话,就不受限制,随时可以监听感兴趣的事件。 

首先谈谈在androidManifext.xml中注册一个receiver, 例如我们想监听相机按钮按下事件的发生,并且发生后调用我们的camera程序 

另外,当程序需要使用手机相关的服务, 如电话、短信、因特网等功能时,就得在Manifest中添加对于的user-permission。 

在这个配置文件中声明了一个receiver用来监听相机的按键事件,所以还需要在代码文件定义与配置文件中同名的receiver: 

public class CameraButtonIntentReceiver extends BroadcastReceiver {     public void onReceive(Context context, Intent intent) {         Intent i = new Intent(Intent.ACTION_MAIN);         i.setClass(context, Camera.class);         i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);         context.startActivity(i);   } }

关于另外一种,在代码中注册一个receiver,例如我们想在代码文件中监听电池电量的变化,就可以按照如下方法 

private final BroadcastReceiver mBatteryReceiver = new BroadcastReceiver() {        @Override         public void onReceive(Context context, Intent intent) {              String action = intent.getAction();               if (action.equals(Intent.ACTION_BATTERY_CHANGED)) {               …               }         } }

这种方法需要在onCreate 或者onStart中注册该receiver所感兴趣的intent,如: 

registerReceiver(mBatteryReceiver, Intent.ACTION_BATTERY_CHANGED);

在onStop及onDestroy中注销监听 

unregisterReceiver(mBatteryReceiver, Intent.ACTION_BATTERY_CHANGED);

系统广播可以捕捉系统发出的行为有: 

1. “android.provider.Telephony.SMS_RECEIVED” 收到短信 
2. Intent.ACTION_BATTERY_CHANGED 剩余的手机电池量 
3. Intent.ACTION_MEDIA_MOUNTED  SD卡成功挂载 
4. Intent.ACTION_MEDIA_UNMOUNTED SD卡未挂载 
5. Intent.ACTION_NEW_OUTGOING_CALL拨打电话 
6. Intent.ACTION_PACKAGE_ADDED执行安装 
7. Intent.ACTION_PACKAGE_REMOVED 执行卸载

转载地址:http://dqlwx.baihongyu.com/

你可能感兴趣的文章
编写who命令
查看>>
2.1 sikuli 中编程运行
查看>>
愚公移山第一章伪代码
查看>>
常见的位运算技巧总结(膜wys)
查看>>
python魔法函数(二)之__getitem__、__len__、__iter__
查看>>
EL表达式无法显示Model中的数据
查看>>
Linux应用小技巧
查看>>
考题纠错2
查看>>
ps6-工具的基础使用
查看>>
关于CefSharp.WinForms的学习
查看>>
灵活运用 SQL SERVER FOR XML PATH
查看>>
es 加磁盘扩容
查看>>
linux 参数内核
查看>>
使用Azcopy在Azure上进行HBase的冷热备份还原
查看>>
计组_定点数一位乘_布斯公式
查看>>
linux下使用过的命令总结(未整理完)
查看>>
ES6的一些文章
查看>>
LeetCode 198, 213 House Robber
查看>>
New Year Permutation(Floyd+并查集)
查看>>
Qt编写输入法V2018超级终结版
查看>>