gpt4 book ai didi

java - Android getSystemService 函数的解决方案

转载 作者:行者123 更新时间:2023-12-02 04:55:25 29 4
gpt4 key购买 nike

我想测试一些关于USB设备的东西,我尝试编写一个小程序,我确信这是错误的,但这不是这个问题的重点。我确信我的导入没问题,但 Android Studio 拒绝构建此类,并出现有关 GetSystemService() 的错误。我有消息:

Error:(65, 43) error: cannot find symbol method getSystemService(String).

我还使用了 http://android-er.blogspot.de/2013/10/list-attached-usb-devices-in-usb-host.html 中的示例Android 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);
}
}
}

最佳答案

如果您检查提供的示例,您将验证是否有一个 MainActivity 类扩展了 Activity 类,而该类又间接地从 Context 扩展。为了调用 getSystemService(),您需要有一个可用的Context。如果您使 DeviceOpenActivity 扩展 Activity,Android Studio 将不再提示您的调用。

只需留下你的类声明,如下所示:

public class MainActivity extends Activity 

不要忘记,您需要为 Activity 以及 Activity 方法(例如 onCreate())提供 XML 布局>。

关于java - Android getSystemService 函数的解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28819492/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com