闪光灯火炬功能,而不是通过应用程序,小部件的工作中承上启下5 [英] flash torch functionality not working through app-widget in nexus 5

查看:166
本文介绍了闪光灯火炬功能,而不是通过应用程序,小部件的工作中承上启下5的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

闪光灯开启,精细的应用程序(增加surface_view到布局),当我尝试开启闪光灯,通过应用程序,窗口小部件它不工作。我用相机和的 SurfaceView 这里是code我使用

 相机mCamera;
SurfaceView preVIEW;
mCamera = Camera.open();
mCamera.set previewDisplay(preview.getCameraHolder());
参数PARAMS = mCamera.getParameters();
params.setFlashMode(Parameters.FLASH_MODE_TORCH);
mCamera.setParameters(PARAMS);
mCamera.start preVIEW();
 

补充许可,并在明显的特点是:

 <使用-权限的Andr​​oid:名称=android.permission.CAMERA/>
<使用-权限的Andr​​oid:名称=android.permission.FLASHLIGHT/>
<使用特征的android:NAME =android.hardware.camera机器人:要求=FALSE/>
<使用特征的android:NAME =android.hardware.camera.autofocus机器人:要求=FALSE/>
<使用特征的android:NAME =android.hardware.camera.flash机器人:要求=FALSE/>
 

解决方案

相机需要一个表面,坚持以打开
Flashlight..however SurfaceView不能被应用到一个小部件。因此,这是你所需要的......

添加到您的 turnFlashOn code:

 尝试{
mCamera.set previewTexture(新表面纹理(0));
}赶上(IOException异常E){
e.printStackTrace();
}
 

此外,删除所有引用在code到surfaceview,因为它并不适用于一个部件

Flash is turning-on fine from application (added surface_view to the layout), when I try to turn-on flash through app-widget it's not working. I used Camera and SurfaceView Here is the code I am using

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();

Added permission and features in Manifest are:

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

解决方案

The camera needs a surface to cling to in order to open the
Flashlight..however SurfaceView cannot be applied to a widget. So this is what you need to.....

Add this to your turnFlashOn code:

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

Also, remove all references to surfaceview in your code as it is not applicable in a widget

这篇关于闪光灯火炬功能,而不是通过应用程序,小部件的工作中承上启下5的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆