How to bind two Android Activities to one Service?

前端 未结 3 1070
-上瘾入骨i
-上瘾入骨i 2021-02-06 00:21

I would like to ask for some example, where two different activities (button in first activity open second activity), are communicating with one service (AIDL, etc.) I\'ve tried

相关标签:
3条回答
  • 2021-02-06 00:32

    This is probably old, but I'll try to answer it anyways...

    In Android, seeing as only one Activity can bind to a Service at a time, and only one Activity can be shown at a time, there is no real reason to want to bind 2 Activities at a time.

    But, if you'd like, the best solution is to bind the Service in the onResume() method, and unbind it in the onPause() method. This allows you to give two un-related Activities access to the service, while only having one bound at a time.

    0 讨论(0)
  • You can do it by using Messenger that provide IPC communication without using AIDL. This is how you can bind multiple activities to a service.

    If you need your service to communicate with remote processes, then you can use a Messenger to provide the interface for your service. This technique allows you to perform interprocess communication (IPC) without the need to use AIDL.

    Have a look at this link. When you see the code, you will find a switch case withing a Handler, this will cater to the multiple requests that you will send from you multiple activities/components. Thanks. I hope the answer will be of help to you.

    0 讨论(0)
  • 2021-02-06 00:56

    Each Activity is responsible for binding and unbinding from the Service. This is normally done in onResume / onPause, or onStart / onStop, depending on your requirements. One Activity cannot bind another Activity to a Service. That's just the way it is. :)

    0 讨论(0)
提交回复
热议问题