学习 BroadcastReceiver

广播分2种 sendBroadcast,sendOrderedBroadcast分别 为有序广播和无序广播。 广播是四大组件之一需要在清单文件中配置。

使用无序广播

发广播:

(View view){//发送一个自定义的广播.Intent intent = new Intent();intent.setAction(“com.lxcay.mybroadcast.xxx”);sendBroadcast(intent);//发送一条无序广播}

接收广播: 在需要接受广播的应用对应的 AndroidManifest.xml中的组件节点下

<receiver android:name=”com.lxcay.myreceiver.MyReceiver” >//配置广播过滤器,只接受某种类型的广播<intent-filter android:priority=”1000″> // android:priority 是优先级,1000代表最高//配置广播过滤条件></receiver>使用有序广播

发广播:

(View view){//发送一个自定义的广播.Intent intent = new Intent();intent.setAction(“com.lxcay.mybroadcast.xxx”);sendOrderedBroadcast(intent, null);//发送一条有序广播}

接受广播: 在需要接受广播的应用对应的AndroidManifest.xml中的组件节点下

<receiver android:name=”com.lxcay.myreceiver.MyReceiver” >//配置广播过滤器,只接受某种类型的广播<intent-filter android:priority=”1000″> // android:priority 是优先级,1000代表最高//配置广播过滤条件></receiver>

这种在 AndroidManifest.xml 使用广播的方式是全局(整个手机)有效的。

有序广播和无序广播的区别: 有序广播可以中断广播 abortBroadcast(),可以修改广播的值 setResultData(), 无序广 播不可以使用这个2个函数。

eg: 有序广播{(Context context, Intent intent) {System.out.println(“我是自定义的广播接受者 , 我接收到了广播事件”);System.out.println(“习大大说:举国同庆,放假3天”);//原广播内容setResultData(“习大大说:放假3天”);//在接受广播后,修改广播内容}}{(Context context, Intent intent) {System.out.println(“我是自定义的广播接受者 , 我接收到了广播事件”);String message = getResultData();//接受广播,的内容System.out.println(message);//因为优先级的缘故,这里打印的是“习大大说:放假3天”setResultData(“放假3天”);//在接受广播后,修改广播内容abortBroadcast();//中断广播(有序广播在中断广播后,后面的广播是接收不了广播的,后面值得是android:priority=””更低的优先级)}}发送广播必须接收广播有权限eg: 发送方(View v) {Intent intent = new Intent(“lxcay.broadcast.ORDERED”);//启动从没有启动过的广播intent.setFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);intent.putExtra(“data”, “ordered”);// 接收者之间不能修改Bundle bundle = new Bundle();bundle.putString(“name”, “张三”);//第二个参数,,是限定接受广播的要这个权限,如果没有是接受不到sendOrderedBroadcast(intent, “lxcay.permission.BROADCAST”, new ResultReceiver(), null, 1, “MainActivity”, bundle);}eg:接受方接收放需要发送方需要权限eg:接收方<receiver android:name=”com.lxcay.areceiver.A_Receiver”//这个是需要发送方需要的权限,没有的话,这个广播是不会受理发送的广播=”lxcay.broadcast.NORMAL” /></intent-filter>//这个是优先级=>

无论身处何处,只要有一颗放松而美好的心态,生活便是美好!

学习 BroadcastReceiver

相关文章:

你感兴趣的文章:

标签云: