Android应用程序可以使用套接字与本机Android服务进行通信吗?

时间:2012-06-06 03:37:44

标签: android sockets native

我试图让Android应用与本地服务(交叉编译的ARM二进制文件或Linux脚本)进行通信,我想知道我是否可以使用套接字执行此操作?< / p>

基本上,本机服务将在init上运行,并等待应用程序在执行其他操作之前发送数据。

这可能吗,Android应用程序是否需要root权限才能执行此操作?

感谢。

1 个答案:

答案 0 :(得分:4)

是的,这是可能的。不,该应用程序不需要任何特殊权限 - 对于unix域套接字,您甚至不需要互联网许可。

唯一需要特殊许可的地方就是启动服务 - 实际上,你必须给它提供一些杀手级值,告诉android单独留下这个过程,和/或将其设置为自动 - 重新启动。否则,资源有限的安卓系统可能会扼杀一个似乎与任何特定合法活动或服务无关的神秘过程。

更多Android风格的集成方式当然是更像现有的Android服务实现您的服务,即使用在客户端进程中运行的存根api并将事物通过Binder IPC推送到以特殊方式运行的服务过程(很可能是系统过程)。这也可以使用现有的包/清单权限方案更轻松地管理对服务的访问。但它最终是一种风格化的东西,虽然可能在某种程度上与谷歌接受你的设备有关,但这并不是制作有用的东西的唯一方法。