Android广播接收者的小结

1 为什么需要广播接收者?

  Android内部已经定义好了电台,即定义了一些广播事件,比如拨打电话、接收短信、屏幕锁、电池电量的监听等等,广播接收者的任务就是接收这些广播,并由开发者们将结果展示给用户。

2 步骤

    定义广播接收者要继承BroadcastReceiver,其中会自动出行 onReceiver()的方法,(注意广播接收者接收的不是Context),在此方法中,如果是在清单文件中注册的广播接收者一般情况用 getResulData()的方法接收数据,还有一种是用Intent 的

getStringExtra()方法,注意这点。

特殊的广播接收者:屏幕锁,电池电量等。 这类广播接收者只能在代码中动态注册,在清单文件静态注册无效。

    动态注册的一点代码:
        

screenReceiver=new ScreenReceiver(); IntentFilter filter=new IntentFilter(); filter.addAction("android.intent.action.SCREEN_OFF"); filter.addAction("android.intent.action.SCREEN_ON"); //注册特殊的广播接收者 registerReceiver(screenReceiver, filter);

    

有序广播:一级一级的向下传递,有序广播有一个“钦差大臣”可以不用再清单文件注册,接受广播的各个级都是修改数据的,由“钦差大臣”最后判断最后一级能够收到广播信息。

无序广播:只管发

广播接收者的事件类型:

android.intent.action.NEW_OUTGOING_CALL

android.provider.Telephony.SMS_RECEIVED

android.intent.action.SCREEN_ON

android.intent.action.SCREEN_OFF

android.intent.action.PACKAGE_INSTALL  //这个据说是googl大神预留的东东,现在还没有用

android.intent.action.PACKAGE_ADDED  //安装apk的事件是这个

android.intent.action.PACKAGE_REMOVED

内容是我自己总结的,仅供参考,如有不足请大家告诉我声,谢谢啦!我会改正并补充


你可能感兴趣的:(android)