How to receive data from non-unity application (also built by us) on Android.

Hello, we have a Java App for some hardware, and we need to receive data from it in our Unity Application. On Windows we are using TCP channel, but the free unity version doesn’t allow to use it on Android. As we have access to both applications, we can choose NY data channel that could work. So is there a way to connect 2 apps on android somehow? Of course we can use http, but it is not a good solution, too slow.

You can use TCP sockets even with the personal version. Since Unity 5.x (don’t remember the exact version) they almost completely removed the feature gap between the different licenses. The only differences left are that you can’t disable / customize the splash screen in the personal edition and the editor doesn’t has the dark pro skin available. Of course plus and pro have some additional team features and higher limits for most of the online services that Unity offers. Other than that there currently is no other difference.

The main problem i see is that Android only allows one foreground application at a time. So if you want two apps to communicate, the other app need to be implemented as background service. Though it should be able to add a background service directly to your Unity app.

I’m not that experienced with native android development, but a Unity app is just a normal foreground activity. An App can contain multiple activities. A background service would be implemented with a seperate activity…

Here might be a place to start. I recommend to just google alot about “android services”, “activities”, “Intent” and related topics.