关于PC与Android 的USB通信

基本代码也是参考http://blog.csdn.net/wufenglong/article/details/5778862的,按照自己的理解整理下,便于自己理解,不算原创。

1、使用的是Socket通信,据说有更高端的方法,如AOA 等,没有试验,因为我使用的设备版本很低,好像不支持,但是adb应该是都有的

2、我是把Android设备要做服务器,PC做客户端。因为Android设备的IP默认为127.0.0.1,端口号是PC通过端口转发确定的,比较好获得,如果反过来,PC做服务器的话,Android设备还要去知道PC的IP和端口号

3、基本流程:USB连接后,PC端通过adb命令下发一条广播信息,Android设备有一个类接收到广播,启动Android设备端对应的一个服务,之后PC端通过端口转发与手操器建立SOCKET连接,就可以随意发点什么了。

一步一步来看:

一、一个接受广播类

若接收到启动指令,启动服务;接收到停止指令,停止服务。

public class ServiceBroadcastReceiver extends BroadcastReceiver {
	private static String START_ACTION = "NotifyServiceStart";
	private static String STOP_ACTION = "NotifyServiceStop";

	@Override
	public void onReceive(Context context, Intent intent) {
		//Log.d(androidService.TAG, Thread.currentThread().getName() + "---->"
			//	+ "ServiceBroadcastReceiver onReceive");
		String action = intent.getAction();
		if (START_ACTION.equalsIgnoreCase(action)) 
		{
			context.startService(new Intent(context, androidService.class));
		} 
		else if (STOP_ACTION.equalsIgnoreCase(action)) 
		{
			context.stopService(new Intent(context, androidService.class));
		}
	}
}
二、


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值