8

Galaxy Nexus デバイスの懐中電灯を開く必要があるアプリを開発しています。ここの投稿を参考にしました

どのAPIで制御可能なGalaxy NexusのLED懐中電灯?

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" />

しかし、私はまだ懐中電灯のスイッチを入れることができません。誰かが私のエラーを指摘できますか? ありがとう

4

3 に答える 3

7

コールバックを設定する必要がありますmHolder.addCallback(this);

于 2012-07-13T03:25:38.367 に答える
0

追加してみてください:

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

この投稿を見てください: Androidでプログラムによってカメラのフラッシュライトをオンにする方法は?

于 2012-05-24T09:42:22.840 に答える
0

このタグをマニフェスト ファイルに追加する必要があります。

<uses-feature android:name="android.hardware.camera.flash"/>
于 2012-05-24T09:42:38.463 に答える