如何在 Android 的服务类中实现 BroadcastReceiver?

2024-04-18

我需要在我创建的 Service 类中实现 BroadcastReceiver:

public class MyService extends Service

在本课程中,我必须使用线程 - 当用户按下按钮时睡眠来实现下载模拟MyActivity实现的类sendBroadcast()。我无法将服务类扩展到BroadcastReceiver因为它已经延伸到Service。谁能帮我弄清楚如何实现这个机制?


将 BroadcastReceiver 作为顶级类或服务中的内部类。并获取您服务中接收器的参考信息。像这样:

public class MyService extends Service {
    BroadcastReceiver mReceiver;

    // use this as an inner class like here or as a top-level class
    public class MyReceiver extends BroadcastReceiver {

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

        // constructor
        public MyReceiver(){

        }
    }

    @Override
    public void onCreate() {
         // get an instance of the receiver in your service
         IntentFilter filter = new IntentFilter();
         filter.addAction("action");
         filter.addAction("anotherAction");
         mReceiver = new MyReceiver();
         registerReceiver(mReceiver, filter);
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Android 的服务类中实现 BroadcastReceiver? 的相关文章

随机推荐