android shell上的am命令可以启动服务、广播消息,还有杀进程,监控等功能。可以利用am的广播服务来向APK传输数据,传输的数据格式可以是K-V的形式。
C代码只需用system()或popen()等方式调用shell命令即可实现与APK通信。
am broadcast -a [广播动作名称] --ei [EXTRA_KEY] [EXTRA_INT_VALUE] --es [EXTRA_KEY] [EXTRA_STRING_VALUE] --ez [EXTRA_KEY] [EXTRA_BOOLEAN_VALUE]
例如:手动发送广播一条名为com.abclink.login.message的消息,并携带k-v格式的数据, name,“hyxm,1111,1”
am broadcast -a com.abclink.login.message --es name hyxm,1111,1
app端侧要实现一个广播接收器,接收到com.abclink.login.message消息之后,通过消息对应的handler将msg传给MainActivity去处理。