【问题标题】:Unable to use the flashlight in Galaxy Nexus无法在 Galaxy Nexus 中使用手电筒
【发布时间】:2012-05-24 04:44:31
【问题描述】:

我必须遵循代码,我只想在我的 Galaxy Nexus(4.0.2) 中打开手电筒,但它没有这样做。

public class welcome extends Activity {

//MediaPlayer player;
/** Called when the activity is first created. */
@Override

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.welcome);

    Camera cam = Camera.open();     
    Parameters p = cam.getParameters();
    p.setFlashMode(Parameters.FLASH_MODE_TORCH);
    cam.setParameters(p);
    cam.startPreview();



}
}

我的清单文件:

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

请问是我的编码错误还是android版本的问题? 谢谢

【问题讨论】:

  • 您是否收到任何错误消息,或者它只是静默失败?
  • 我没有错误消息应用显示欢迎布局,但我的设备中没有任何手电筒
  • 是的,使用这样的表面视图:stackoverflow.com/questions/21276908/…

标签: android android-camera


【解决方案1】:

如果没有附加的surfaceView和surfaceHolder,galaxy nexus就无法使用闪光灯。我自己有一个 Nexus,在附加预览视图后它起作用了。由于您不想在手电筒应用中看到相机所看到的内容,因此只需将其设为 1x1 像素。

来源:LED Flashlight does not work on Samsung Galaxy Nexus

【讨论】:

    【解决方案2】:

    您是否尝试过这里的代码: http://android-er.blogspot.co.uk/2011/02/control-flash-light-function-as-torch.html

    对于我来说,它绝对适用于运行 Cyanogenmod 7 的根深蒂固的 Desire 和 ICS rom (4.0.3)。也许尝试运行它并查看它是否有效,然后从那里继续?

    它还包括检查它是否可以找到相机,然后打开相机。似乎不需要 StartPreview()。

    事件的顺序似乎不同:

    1:如果有摄像头,打开摄像头 2:设置参数 3:parameters.setFlashMode(Parameters.FLASH_MODE_TORCH);
    4:camera.setParameters(参数);

    【讨论】:

      【解决方案3】:

      使用表面视图连接相机,因为某些设备需要表面视图。我相信这会奏效 a link!给你

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-03-19
        • 1970-01-01
        • 2012-02-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多