When it comes to the android there are some drawbacks if we just build the app isolated integrating the service to the app. Then we won't be able to be sure that the service is run in background to cater the communication needs since android OS pauses activities when they are in background. So for this reason we had to create a separate isolated service running in the background to cater the communication works on real time. So in this case there is a Android service running in the background. Any of the apps that uses the senZ communication system should communicate with the switch through this service. To understand the internal architecture see the image below.
In the android service we have defined a AIDL(Android Interface definition language) which acts as the communication medium between the app and the android service (IPC communication) . So inside app you are going to build you will have to create objects from this AIDL and send massages that need to be sent to the switch. Actually if you are using multiple apps that uses the android senz service , the switch in the other end sees you as a single client who uses its service. It doesn't matter how many apps you are using. Only thing matters is the massages are sent and received in the defined order.
The apps needs to be designed in such a way that when they need to pass massages to the senz switch it has to do it through the AIDL interface. It will be explained later in this document. And if the senz switch has replied to a massage then the senz service in the android device will Broadcast the massage. So the app which requested the massage/DATA etc will have to recive it while the others can ignore it.