我是Android新手,我尝试使用Android USB发送一些数据。我试图使用这个示例代码
// Get UsbManager from Android.
UsbManager manager = (UsbManager) getSystemService(Context.USB_SERVICE);
// Find the first available driver.
UsbSerialDriver driver = UsbSerialProber.acquire(manager);
if (driver != null) {
driver.open();
try {
driver.setBaudRate(115200);
byte buffer[] = new byte[16];
int numBytesRead = driver.read(buffer, 1000);
Log.d(TAG, "Read " + numBytesRead + " bytes.");
} catch (IOException e) {
// Deal with error.
} finally {
driver.close();
}
}
我收到此错误
对于TCPClient类型
,未定义方法getSystemService(String)
我不确定我是否错过了一些观点。任何帮助都会很棒。我正在使用Eclipse Juno和JDK 1.7。
答案 0 :(得分:5)
getSystemService(String)
是为Context
类定义的方法:Context#getSystemService(String)
。由于Activity是Context的子类,因此使用this.getSystemService(String)
或简单地getSystemService(String)
可以在Activity中正常工作。
但是,您似乎正在尝试在名为TCPClient
的类中使用此方法。错误指出TCPClient#getSystemService(String)
未定义:正确。
您应该将活动的上下文传递给TCPClient
并将其用作:
UsbManager manager = (UsbManager)
passedContext.getSystemService(Context.USB_SERVICE);
或者,如果TCPClient是您的Activity的内部类,则以下内容也应该起作用:
UsbManager manager = (UsbManager)
YourActivityName.this.getSystemService(Context.USB_SERVICE);