2015-03-02 125 views
0

找到getSystemService功能的sollution我在的Java/Android的总小白和我想要测试一些关于usb设备,我试着写一个小程序,我相信它是错误的,但是这不是这个问题的重点。 我确定我的导入是正常的,但Android Studio拒绝用关于GetSystemService()的错误来构建这个类。我有消息:错误:(65,43)错误:无法找到符号方法getSystemService(String)。我不能在Android的

我也使用http://android-er.blogspot.de/2013/10/list-attached-usb-devices-in-usb-host.html的例子,A​​ndroid Studio也有同样的错误,但是如果我从这个网站安装Apk,那么它在我的设备上运行,所以我认为在Android Studio上有些问题。 任何好主意?

OFFTOPIC“QT Creator是光年更好”

import android.content.Context; 
    import android.hardware.usb.UsbManager; 
    import android.hardware.usb.UsbAccessory; 
    import android.os.ParcelFileDescriptor; 
    import java.io.FileInputStream; 
    import java.io.FileOutputStream; 
    import java.io.FileDescriptor; 
    import android.util.Log; 




public class DeviceOpenActivity { 

private static final String TAG = "DeviceOpenActivity"; 

UsbManager usbManager = (UsbManager) getSystemService(Context.USB_SERVICE); 
UsbAccessory mAccessory; 
ParcelFileDescriptor mFileDescriptor; 
FileInputStream mInputStream; 
FileOutputStream mOutputStream; 

public static int fibonacci(int n) { 
    if (n<2) return n; 
    return fibonacci(n-1) + fibonacci(n-2); 
} 

private void openAccessory() { 
    Log.d(TAG, "openAccessory: " + mAccessory); 

    mFileDescriptor = usbManager.openAccessory(mAccessory); 
    if (mFileDescriptor != null) { 
     FileDescriptor fd = mFileDescriptor.getFileDescriptor(); 
     mInputStream = new FileInputStream(fd); 
     mOutputStream = new FileOutputStream(fd); 

    } 
    } 
} 
+0

请先学习java(或任何现代的oo语言)首先...您的班级没有这样的方法... – Selvin 2015-03-02 21:12:58

+0

这是一个非活动类,请参阅http://stackoverflow.com/questions/4141555/how -to-use-getsystemservice-in-a-activity-class – 2015-03-02 21:14:10

+0

@Selvin我解释说,这不是我Java经验问题的关键。如果我使用上面链接的代码,我有同样的错误,所以这不是我的Java技能的问题。 :-) – ntosis 2015-03-02 21:16:11

回答

2

如果您检查您所提供的例子,你会验证是否有一个MainActivity类,它扩展Activity类,其反过来间接延伸语境。要拨打getSystemService(),您需要有一个可用的Context。如果您将DeviceOpenActivity扩展为Activity,Android Studio不会再对您的通话抱怨。

只要留下您的类声明是这样的:

public class MainActivity extends Activity 

不要忘记,你需要为你的Activity提供一个XML布局,还有Activity方法,如onCreate()

+0

u能请解释一下“唐” t忘记你需要为你的Activity提供一个XML布局,以及Activity方法,比如onCreate()“? – ntosis 2015-03-02 21:25:12

+0

您提供的示例包含所有内容,包括XML布局和活动代码。只需将您从MainActivity错过的代码添加到您的活动中。 – joao2fast4u 2015-03-02 21:27:06