我正在考虑一个Android应用程序(可能还有一个附带的物理设备),我正在试图弄清楚这是否可行.
1)假设我将Android插入PC.PC上安装的应用程序是否可以与手机中运行的应用程序通信?我只需要一个非常简单的数据交换,它甚至可以是单向的(只需将数据从手机推送到PC上的监听应用程序,无论何时手机需要,我都不需要从PC发送到手机的任何数据).
当我插上它时,手机给了我4个选项(充电,磁盘驱动器,HTC同步,网络共享),这让我觉得这不可行,但仍然值得一试.
2)PC上的应用程序是否可以通过任何其他方式与手机上的应用程序通信?(Wi-Fi,蓝牙等).我猜wi-fi没有,因为任何一方都没有对方的IP(我希望这只是工作,而不是一直手动输入IP).
3)如果我将一个设备插入手机底部的小USB端口(让我们说这是一个可以做任何事情的神奇设备,只要它可行,我就不太关心这些细节).我可以让Android应用与该设备通话吗?
4)让手机与我制作的"设备"或PC上的应用程序通话的任何其他想法都非常受欢迎."通过网络"可能是一个选择(虽然必须有一个我作为中间人拥有的中央服务器,我相信).但我更喜欢这两种设备之间的通信是直接的.
从一年前开始,有没有办法在Android上与USB设备通信?这似乎不是一个常见的要求,但平板电脑已经发展,并且希望操作系统也有.
我需要从我的Curtis LT8025平板电脑上操作一个简单的USB中继卡,目前运行2.1补丁.
我也是Android和java的新手,所以相对无能为力!
无需双向通信,只需向设备发出简单的串行命令即可.
有什么建议?
谢谢!
戴夫
我有USB主机Android设备,我需要连接USB设备.检测usb设备到主机我写了下面的代码.
public class ReadData extends Activity {
UsbManager usbManager;
PendingIntent mPermissionIntent;
UsbDevice usbDevice;
Intent intent;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_read_data);
usbManager = (UsbManager) getSystemService(Context.USB_SERVICE);
final String ACTION_USB_PERMISSION =
"com.example.udevice.USB_PERMISSION";
IntentFilter filter = new IntentFilter("android.hardware.usb.action.USB_ACCESSORY_ATTACHED");
registerReceiver(mUsbReceiver, filter);
}
private static final String ACTION_USB_PERMISSION =
"com.example.udevice.USB_PERMISSION";
private final BroadcastReceiver mUsbReceiver = new BroadcastReceiver() {
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if (ACTION_USB_PERMISSION.equals(action)) {
synchronized (this) {
usbDevice = (UsbDevice) intent.getParcelableExtra(UsbManager.EXTRA_DEVICE);
usbManager.requestPermission(usbDevice, mPermissionIntent);
if (intent.getBooleanExtra(UsbManager.EXTRA_PERMISSION_GRANTED, …Run Code Online (Sandbox Code Playgroud)