2015-03-02 60 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