java - 如何删除 "Context.USB_SERVICE"处的错误(Eclipse -> Android)

标签 java android serial-port usb host

请记住,这是我的第一篇 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/

相关文章:

java - 如何更改 IntelliJ IDEA 中的顶级包名称?

android - 如何修复泄露的 "SQLiteConnection for gms database"

Android 显示通知不起作用

android - 与 Windows Phone 8 的串行通信

c - 从 RFID 读取器获取数据

java - 有没有办法设置可编辑的 J2ME lwuit 组合框?

java - Cassandra 连接池

java - 无法使用 baseadapter 解析带有 listview 的构造函数适配器

javascript - 如何在 JavaScript 中将字符串转换为 ASCII 格式?

java - 引用不同 Java 文件中的方法