Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在安卓系统中,有没有一种不使用摄像头的方式来使用手电筒?_Java_Android_Android Camera_Flashlight_Image Scanner - Fatal编程技术网

Java 在安卓系统中,有没有一种不使用摄像头的方式来使用手电筒?

Java 在安卓系统中,有没有一种不使用摄像头的方式来使用手电筒?,java,android,android-camera,flashlight,image-scanner,Java,Android,Android Camera,Flashlight,Image Scanner,请先阅读问题,然后再将其标记为副本。我正在尝试使用本网站上其他代码中显示的摄像头方法访问LED/手电筒,而不使用。多谢各位 我正在尝试在Android中使用手电筒/手电筒。我已经找到并实现了用于执行此操作的代码。我的问题是,我使用的是一个图像识别API,它将相机用作图像扫描仪,而它们没有灯光开/关功能。当我尝试覆盖他们的方法并使用相机方法打开/关闭手电筒时,这是可行的,但是,相机方法现在控制窗口,他们的扫描仪在屏幕上不再具有优先级 所以我想确定的是。。。是否有其他方法可以在不使用相机方法和预览功

请先阅读问题,然后再将其标记为副本。我正在尝试使用本网站上其他代码中显示的摄像头方法访问LED/手电筒,而不使用。多谢各位

我正在尝试在Android中使用手电筒/手电筒。我已经找到并实现了用于执行此操作的代码。我的问题是,我使用的是一个图像识别API,它将相机用作图像扫描仪,而它们没有灯光开/关功能。当我尝试覆盖他们的方法并使用相机方法打开/关闭手电筒时,这是可行的,但是,相机方法现在控制窗口,他们的扫描仪在屏幕上不再具有优先级

所以我想确定的是。。。是否有其他方法可以在不使用相机方法和预览功能的情况下打开手电筒/手电筒。有人知道如何绕过摄像机使用手电筒/手电筒吗?如有任何信息,将不胜感激

这是我目前使用的代码,它正在工作以打开/关闭手电筒,但正如我所说的……这会覆盖扫描仪,我需要相机/扫描仪同时工作以识别我的图像

公共级手电筒扩展自动扫描会话{

Camera cam;
private CameraManager mCameraManager;
private Context context;
private Scanner scanner;
private AutoScannerSession.Listener listener;
private boolean advancedListener = false;


public Flashlight(Activity parent, Scanner scanner, Listener listener, SurfaceView preview) {
    super(parent, scanner, listener, preview);
    cam = Camera.open();
    cam.setErrorCallback(new Camera.ErrorCallback() {
        @Override
        public void onError(int error, Camera camera) {
            Log.e("erro", error +"");
        }
    });
    this.context = parent;
    this.mCameraManager = new CameraManager(parent, this, preview);
    this.scanner = scanner;
    this.listener = listener;
    if(listener instanceof AutoScannerSession.AdvancedListener) {
        this.advancedListener = true;
    }

}

@Override
public void start() {
    super.start();
    //flashOn();

}

public void flashOn() {
    android.hardware.Camera.Parameters p = cam.getParameters();
    p.setFlashMode(android.hardware.Camera.Parameters.FLASH_MODE_TORCH);
    cam.setParameters(p);
    //cam.startPreview();
}

public void flashOff() {
    cam.stopPreview();
    cam.release();
}

@Override
public void stop() {
    super.stop();
    flashOff();
}

打开照相机闪光灯的代码片段

Camera cam = Camera.open();     
Parameters p = cam.getParameters();
p.setFlashMode(Parameters.FLASH_MODE_TORCH);
cam.setParameters(p);
cam.startPreview();
关闭摄像头led灯的代码片段

 cam.stopPreview();
  cam.release();

不,没有其他方法可以使用闪光灯。但是你可能可以与扫描仪“共享”相机对象


无论如何,Activity.onCreate()中的Camera.open()和Activity.onStart()中的手电筒看起来都不正确。要成为其他应用中的好公民,您的应用程序不应在onResume()之前获取Camera并在onPause()之前释放它.

我有一部Symphony H20智能手机正式运行安卓4.4.2、内核3.4.67、MT6582。设置
参数。闪光灯模式手电筒作为相机参数不起作用。尝试了几个小时后,我决定对其预安装的手电筒应用程序进行反编译。在那里,我发现他们编写了文件
/sys/class/torch/torch/torch\u level
中的ode>1
打开摄像头LED,并
0
关闭摄像头LED

然后我尝试了同样的方法,哇!成功了


但是同样的技术在我的Winmax W800 Plus中不起作用Android 4.4.2,内核3.4.67,MT6572。它甚至根本没有像
/sys/class/torch/torch/torch_level
这样的文件。

我已经有了这个代码……如果你读了这个问题,我正在尝试访问火炬/手电筒而不使用密码ra方法。不是重复的…完全不同的问题。我不想使用相机方法,我正在尝试确定是否有一种方法可以在不访问相机方法的情况下打开/关闭LED。除了为您提供的方法之外,您为什么要尝试做其他事情?再次……如果您通读这篇文章,您将看到我无法做到这一点这是因为图像识别软件将摄像头窗口用作扫描仪,如果我尝试实现闪光灯方法,它会接管预览窗口,而图像扫描仪无法工作。闪光灯工作正常,但扫描仪无法工作,因此它基本上会破坏应用程序。你使用什么扫描仪?它是开源的吗?它来自情绪tocks API…好的,谢谢你的回答。我正在试图找到一种方法来覆盖图像识别API中的一个方法,并合并手电筒,以便在图像识别扫描仪(使用相机)运行时打开/关闭它。也许我可以“共享”其中一个方法中的camera对象。如果API方法已经在访问camera,我该如何启动该过程?