I found several threads speacking about this subject, but after read them I don\'t have a clear idea about my problem.
We have a external device (something like a tomtom
Currently the adb interface is one way. Flow is controlled by the host PC using adb. Looking at your requirement, looks like you might need to open up the source code, re-tune the USB driver to allow communication both ways. After that, you will need to design your very own API that allows an application to send messages via USB. This will require a lot of work as the current Android model does not support it.
If the android device that you are attaching your device to, supports host mode then the usb api can help. it is however a low level api that talks in usb request buffers (URBs) I am writing a serial abstraction at the moment using this api but it is not ready for airing at present.
If your non android device is able to act as host then as Royston suggests the adb route might be best for you and there are examples of how to do this in the api bundles post api version 12.
I'm basically doing the same you are describing. I'm still at the early stages but I've managed such communication under some constraints:
I hope this helps. As I've said, I'm starting to work in this ecosystem and I still have to find my way around many "places".
Cheers, Asier.