接收广播的两种方法

    xiaoxiao2021-04-12  59

    Android接收广播有两种方法


    静态注册的广播接收器接收广播动态注册的广播接收器接收广播

    静态广播接收器


    单独创建一个Java文件,写一个类,继承BroadcastReceiver,并且在清单文件中注册该接收器。

    AndroidManifest写法

    <receiver android:name=".device.display.daydream.MyDaydreamBroadcastReceiver" android:exported="true" > <intent-filter> <action android:name="helo.intent.finish.daydream" /> </intent-filter> </receiver>

    BroadcastReceiver写法

    public class MyDaydreamBroadcastReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { //do something } }

    动态广播接收器


    在Activity或者service中创建内部类,继承BroadcastReceiver,不用在清单文件中注册。

    写法如下

    public class DaydreamBroadcastReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { //do something } }

    两种接收器的区别


    这两种广播接收器的区别是:

    静态注册的广播可以在广播发送后随时收到,不要求当前应用是否已经启动。

    动态注册的广播不会在广播发送后随时收到,要求当前应用已经启动,并且完成注册过程。

    转载请注明原文地址: https://ju.6miu.com/read-667152.html

    最新回复(0)