如何打开Android手电筒

2023-11-24

Update

看看我的回答

Original

我正在尝试在程序中打开 LG Revolution 上的相机手电筒。我使用的是手电筒模式方法,该方法适用于大多数手机,但不适用于 LG 手机。有谁知道如何让它在 LG 或特别是 Revolution 上工作?

这是我的清单:

<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />
<uses-permission android:name="android.permission.FLASHLIGHT"/>

这是我当前的代码:

public Camera camera = Camera.open();
    public Camera.Parameters Flash = camera.getParameters();

随着我的创建:

            Flash.setFlashMode("torch");
            Parameters p = camera.getParameters();
            camera.setParameters(Flash);
            camera.startPreview();

我见过有人使用自动对焦,但我不知道这是否有效。


我想我会用一些适用于几乎所有 4.0+ 设备的子弹教授代码来更新它。

public void turnOn() {
    camera = Camera.open();
    try {
        Parameters parameters = camera.getParameters();
        parameters.setFlashMode(getFlashOnParameter());
        camera.setParameters(parameters);

        camera.setPreviewTexture(new SurfaceTexture(0));

        camera.startPreview();
        camera.autoFocus(this);
    } catch (Exception e) {
        // We are expecting this to happen on devices that don't support autofocus.
    }
}

private String getFlashOnParameter() {
    List<String> flashModes = camera.getParameters().getSupportedFlashModes();

    if (flashModes.contains(FLASH_MODE_TORCH)) {
        return FLASH_MODE_TORCH;
    } else if (flashModes.contains(FLASH_MODE_ON)) {
        return FLASH_MODE_ON;
    } else if (flashModes.contains(FLASH_MODE_AUTO)) {
        return FLASH_MODE_AUTO;
    }
    throw new RuntimeException();
}

真正的关键是设置假 SurfaceTexture,以便预览真正开始。关闭它也很容易

public void turnOff() {
        try {
            camera.stopPreview();
            camera.release();
            camera = null;
        } catch (Exception e) {
            // This will happen if the camera fails to turn on.
        }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何打开Android手电筒 的相关文章

随机推荐

  • 如何指定退出或中止的方法

    我有一个从 CLI 触发的方法 该方法具有一些显式退出或中止的逻辑路径 我发现 在为此方法编写规范时 RSpec 将其标记为失败 因为退出是异常 这是一个简单的例子 def cli method if condition puts Ever
  • 如何使用 sox 合并多个音频文件

    我使用以下命令通过 sox 将两个音频文件合并为一个 sox end mp3 p pad 6 0 sox m start mp3 output mp3 我想知道如何仅使用一个命令来合并 3 或 4 个音频文件 而不是使用 output mp
  • #java.lang.NoClassDefFoundError: org/apache/commons/digester/Digester

    我正进入 状态java lang NoClassDefFoundError org apache commons digester Digester错误 我被这个错误困扰了一个多月 我已经尝试了所有可用的 Digester 版本 并且还检查
  • 与 Tensorflow 中的常规 LSTMCell 相比,使用 CudnnLSTM 训练时的结果不同

    我正在 Python 中使用 Tensorflow 训练 LSTM 网络 并希望切换到 tf contrib cudnn rnn CudnnLSTM 以加快训练速度 我所做的被替换 cells tf nn rnn cell LSTMCell
  • Google 地图 -“除非更新 Google Play 服务,否则应用程序将无法运行”

    我只是想在这里运行简单的 Google 地图教程 https developers google com maps documentation android start 我正在 Nexus 4 上运行我的应用程序 并且收到带有 更新 按钮
  • Grafana划分2系列

    我试图将两个系列分开以获得它们的比率 例如 我的网站 a com b com c com 为 所有网站 他们每个人都有总部分数和发生错误的统计数据 我想将每个站点的错误 部分显示为条形错误 部分 其中部分 gt 错误到该站点的每个错误 在这
  • Python 正则表达式不工作

    我正在使用以下代码 downloadlink re findall http uploadir com u b str downloadhtml 但是 当我传递以下字符串时
  • 在 shell 脚本中调用 awk

    我有这个命令 如果直接在终端上运行 它可以正确执行 awk word print NR file txt head n 1 目的是找到单词所在行的行号 word 首先出现在file txt 但是当我把它放在脚本文件中时 它似乎不起作用 bi
  • 将 MediaWiki 站点迁移到 Windows Sharepoint Services Wiki

    有人找到了将 MediaWiki 页面迁移到 WSS Wiki 的方法吗 我们刚刚安装了 Sharepoint 2007 虽然它似乎满足了我们的需求 但它似乎不是 Microsoft 提供的任何用于将 MediaWiki 页面迁移到 WSS
  • 带有 Angular 的 ASP.NET MVC:- 页面刷新或重新加载会出现 404 错误

    角度版本 5 我正在使用 ASP NET MVC 开发一个新项目 并将 Angular 5 与其集成 该项目工作正常 只是页面刷新产生 404 页面未找到错误 每当我从浏览器点击刷新或重新加载页面时 都会出现 404 错误 我已经阅读了许多
  • 删除重复项,保留具有最大绝对值的条目

    假设我有四个样本 id 1 2 3 和 4 每个样本都有一个或多个测量值 gt a lt data frame id c 1 1 2 2 3 4 value c 1 2 3 4 5 6 gt a id value 1 1 1 2 1 2 3
  • ScreenUpdating = False 在 Excel 2013 和 2016 中失败

    我几年前开发的基于 Excel 的长期运行的高端应用程序在 Excel 2007 和 2010 中运行良好 在 Excel 2013 和 2016 中看起来就像业余时间 因为Application ScreenUpdating False不
  • Pandas 按组时间累积总和

    我有一个数据框 其中为每个 id 记录 1 个或多个事件 对于每个事件 都会记录 id 度量 x 和日期 像这样的东西 import pandas as pd import datetime as dt import numpy as np
  • 是否存在左关联前缀运算符或右关联后缀运算符之类的东西?

    这一页说 前缀运算符是usually右关联 后缀运算符左关联 强调我的 是否有左关联前缀运算符或右关联后缀运算符的真实示例 如果不是 那么假设的一个会是什么样子 以及如何解析它 使 左联想 和 右联想 的概念变得精确并不是特别容易 因为它们
  • Finalize方法中的异常[重复]

    这个问题在这里已经有答案了 可能的重复 方法终结和异常 垃圾收集器调用finalize 当对象即将从内存中释放时的方法 当异常发生时会发生什么finalize method GC 会继续进行并释放内存 还是 GC 将停止该对象的进程 如果异
  • 如何检测后面的代码中单击了哪个按钮?

    我有三个按钮 每个按钮都用于呼叫btn Clicked在他们的onClick事件 在后面的代码中 我想获取导致回发的按钮的 ID 我知道我可以分配每个按钮来调用不同的方法 但我想学习一些 ASP Net 还请告诉我哪种方法更有效 在不同的按
  • QTreeWidgetItem 中图标的位置

    My QTreeWidget有一个列 它的项目有一个复选框 一个图标和文本 如果用户在某个项目内单击 我想知道该图标是否被单击 如何找到图标的位置和大小QTreeWidgetItem 更新添加 这是我的最终解决方案的代码 根据 webcle
  • 如何将画布视图保存为 PNG 文件?

    我创建了画布 可用于在其上绘制一些形状 如何将其内容保存到用户 SD 卡上的 PNG 文件 查看此链接这个链接在此链接中您可以找到该方法 void saveImage try String filename Environment getE
  • C# 事件在幕后如何工作?

    我正在使用 C NET 3 5 我了解如何利用事件 如何在我的类中声明它们 如何从其他地方挂钩它们等等 一个人为的例子 public class MyList private List
  • 如何打开Android手电筒

    Update 看看我的回答 Original 我正在尝试在程序中打开 LG Revolution 上的相机手电筒 我使用的是手电筒模式方法 该方法适用于大多数手机 但不适用于 LG 手机 有谁知道如何让它在 LG 或特别是 Revoluti