4

アプリケーションから Flash を正常にオンにできます (レイアウトに surface_view を追加)。app-widget を介してフラッシュをオンにしようとすると、機能しません。CameraSurfaceViewを使用しました ここに私が使用しているコードがあります

Camera mCamera;
SurfaceView preview;
mCamera = Camera.open();
mCamera.setPreviewDisplay(preview.getCameraHolder());
Parameters params = mCamera.getParameters();
params.setFlashMode(Parameters.FLASH_MODE_TORCH);
mCamera.setParameters(params);  
mCamera.startPreview();

マニフェストに追加された権限と機能は次のとおりです。

<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.FLASHLIGHT" />
<uses-feature android:name="android.hardware.camera" android:required="false" />
<uses-feature android:name="android.hardware.camera.autofocus" android:required="false" />
<uses-feature android:name="android.hardware.camera.flash" android:required="false" />
4

1 に答える 1

8

懐中電灯を開くには、カメラがくっつくサーフェスが必要です。ただし、
SurfaceView をウィジェットに適用することはできません。だから、これはあなたがする必要があるものです.....

turnFlashOnこれをコードに追加します。

try {
mCamera.setPreviewTexture(new SurfaceTexture(0));
} catch (IOException e) {
e.printStackTrace();
}

また、ウィジェットでは適用できないため、コード内の surfaceview へのすべての参照を削除してください

于 2014-02-08T14:18:33.373 に答える