Android Studio 使用导入

Android Studio using imports

当我第一次将以下代码放入 Android Studio 时,它突出显示了很多错误:

import java.util.List;

public void enableAutofocus()
{
    camera = camera.open();
    Camera.Parameters parameters = camera.getParameters();
    List<String> focusModes = parameters.getSupportedFocusModes();
    if (focusModes.contains(Camera.Parameters.FOCUS_MODE_AUTO))
    {
        parameters.setFocusMode(Camera.Parameters.FOCUS_MODE_AUTO);
    }
    camera.setParameters(parameters);
}

所以,我做了 alt+enter 并插入了正确的导入:

import android.hardware.Camera;
import java.util.List;

public class OcrFocusPluginClass
{
    public void enableAutofocus()
    {
        camera = Camera.open();
        Camera.Parameters parameters = camera.getParameters();
        List<String> focusModes = parameters.getSupportedFocusModes();
        if ( focusModes.contains(Camera.Parameters.FOCUS_MODE_AUTO) )
        {
            parameters.setFocusMode(Camera.Parameters.FOCUS_MODE_AUTO);
        }
        camera.setParameters(parameters);
    }
}

但是马上,小写 cameras 现在有红色下划线。

我意识到 Camera 界面已被弃用,因此我为新应用程序包含了新的 android.hardware.camera2 API:

import android.hardware.camera2;

但是现在除了camera代码外,所有的焦点代码再次高亮错误。

我错过了什么?

如果将所有 Camera. 实例替换为 android.hardware.Camera.,所有错误都会消失。 class 仍然被弃用,但它可能会起作用。

示例固定代码:

android.hardware.Camera camera = android.hardware.Camera.open();

如果您想了解 camera2 的实现,您可能需要查看 .