请记住,这是我的第一篇 StackOverflow 帖子,因此,如果有一些细节含糊不清或以愚蠢的方式表述,我深表歉意。言归正传:
我正在开发一个项目,我和一个 friend 正在使用 FT232R用于将 Android USB 主机设备连接到通过串行端口通信的设备的 IC。我有一个很棒的代码源,我正在使用它:https://code.google.com/p/usb-serial-for-android/
下面的源代码是我们自己从上面衍生出来的解释代码,以适合我们自己的程序:
package com.example.commtest;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.TextView;
import com.hoho.android.usbserial.driver.*;
import com.hoho.android.usbserial.util.*;
import com.example.commtest.ReadUSBdata;
import java.io.IOException;
import java.nio.ByteBuffer;
import java.util.LinkedHashMap;
import java.util.Map;
import android.hardware.usb.UsbConstants;
import android.hardware.usb.UsbDevice;
import android.hardware.usb.UsbDeviceConnection;
import android.hardware.usb.UsbEndpoint;
import android.hardware.usb.UsbRequest;
import android.util.Log;
import android.hardware.usb.UsbManager;
import android.hardware.usb.UsbAccessory;
import com.hoho.android.usbserial.util.HexDump;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView theOutput = (TextView) findViewById(R.id.edtVertoon);
theOutput.setText("1234553242342342341243214");
// Get UsbManager from Android.
UsbManager manager = (UsbManager) getSystemService(Context.USB_SERVICE);
// Find the first available driver.
UsbSerialDriver driver = UsbSerialProber.acquire(manager);
(以上只是代码的开始部分。)
错误出现在从底部算起的第四行,它指出:“上下文无法解析为变量”。这只是一个测试程序,旨在加深对这个主题的理解。
在大家失去理智之前,我已经用 Google 搜索过这个,并且有一些帖子对我有所帮助,但没有一个真正解决了我的问题。
我以 API 15 为最低重写了项目,但没有效果。也许问题出在 list 上?
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.commtest"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="15"
android:targetSdkVersion="17" />
<uses-feature android:name="android.hardware.usb.host" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.commtest.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" />
</intent-filter>
<meta-data android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED"
android:resource="@xml/device_filter" />
</activity>
</application>
</manifest>
任何建议都会有所帮助,再次感谢您的宝贵时间。
最佳答案
我遇到了这个。
答案在这里:Android location manager compilation error
TL:DR 要做的是:
// Get UsbManager from Android
UsbManager manager = (UsbManager) this.getSystemService(android.content.Context.USB_SERVICE);
使用您的 Activity 作为上下文实例。 问候
关于java - 如何删除 "Context.USB_SERVICE"处的错误(Eclipse -> Android),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18289053/