Функциональность Flash Torch не работает через приложение-виджет в Nexus 5
Flash нормально включается из приложения (добавлено surface_view в макет), когда я пытаюсь включить flash через app-widget, он не работает. Я использовал Camera и SurfaceView Вот код, который я использую
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();
В Manifest добавлены разрешения и функции:
<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" />
1 ответ
Камера нуждается в поверхности, чтобы держаться, чтобы открыть
Фонарик... однако SurfaceView нельзя применить к виджету. Так что это то, что вам нужно.....
Добавьте это к вашему turnFlashOn
код:
try {
mCamera.setPreviewTexture(new SurfaceTexture(0));
} catch (IOException e) {
e.printStackTrace();
}
Кроме того, удалите все ссылки на SurfaceView в вашем коде, так как это не применимо в виджете