【问题标题】:Opening Flashlight of Galaxy NexusGalaxy Nexus 打开手电筒
【发布时间】:2012-05-24 09:37:42
【问题描述】:

我正在开发一个需要打开我的 Galaxy Nexus 设备的手电筒的应用程序。我已经参考了这里的帖子

LED flashlight on Galaxy Nexus controllable by what API?

public class TestCamera extends Activity implements SurfaceHolder.Callback{
Camera mCamera;
public static SurfaceView preview;
public static SurfaceHolder mHolder;
public void onCreate(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    preview = (SurfaceView) findViewById(R.id.camSurface);
    mHolder = preview.getHolder();
    mCamera = Camera.open();
    try {
        mCamera.setPreviewDisplay(mHolder);
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

    Button onLEDbtn = (Button) findViewById(R.id.onLED_btn);
    onLEDbtn.setOnClickListener(new OnClickListener(){

        public void onClick(View v) {
            // TODO Auto-generated method stub
            Toast.makeText(getApplicationContext(), "test", Toast.LENGTH_SHORT).show();
            Parameters params = mCamera.getParameters();
            params.setFlashMode(Parameters.FLASH_MODE_TORCH);
            mCamera.setParameters(params);      
            mCamera.startPreview();
        }

    });
}



}


    public void surfaceChanged(SurfaceHolder holder, int format, int width,
            int height) {
        // TODO Auto-generated method stub

    }


    public void surfaceCreated(SurfaceHolder holder) {
        // TODO Auto-generated method stub
        mHolder = holder;
        try {
            mCamera.setPreviewDisplay(mHolder);
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }


    public void surfaceDestroyed(SurfaceHolder holder) {
        // TODO Auto-generated method stub
         mCamera.stopPreview();
            mHolder = null;
    }




}

清单:

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

但是,我仍然无法打开手电筒。谁能指出我的错误?谢谢

【问题讨论】:

  • 你可以在这里找到一切stackoverflow.com/questions/6068803/…
  • 上面是我的manifest文件 而且我在main.xml里面加了camSurface视图会不会有问题?我可以收到敬酒消息,但无法打开手电筒...请帮忙。谢谢!!
  • 解决了! mHolder.addCallback(this);应该在 mHolder = preview.getHolder(); 之后添加
  • 你应该接受下面的答案

标签: android android-camera


【解决方案1】:

你必须设置回调 mHolder.addCallback(this);

【讨论】:

    【解决方案2】:

    你需要在清单文件中添加这个标签。

    <uses-feature android:name="android.hardware.camera.flash"/>
    

    【讨论】:

      【解决方案3】:

      尝试添加:

      android:name="android.permission.FLASHLIGHT"
      android:name="android.hardware.camera.flash
      

      看看这篇文章: How to turn on camera flash light programmatically in Android?

      【讨论】:

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