[英]Opening Flashlight of Galaxy Nexus
I am developing an app which needs to open the flashlight of my Galaxy Nexus device. 我正在开发一款需要打开Galaxy Nexus设备手电筒的应用程序。 I have referred to the post here 我在这里提到了这个帖子
LED flashlight on Galaxy Nexus controllable by what API? Galaxy Nexus上的LED手电筒可通过什么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;
}
}
Manifest: 表现:
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />
However, I still cant switch on the flashlight. 但是,我仍然无法打开手电筒。 Could anyone point out my errors? 谁能指出我的错误? Thanks 谢谢
你必须设置回调mHolder.addCallback(this);
Try to add : 尝试添加:
android:name="android.permission.FLASHLIGHT"
android:name="android.hardware.camera.flash
And look this post : How to turn on camera flash light programmatically in Android? 看看这篇文章: 如何在Android中以编程方式打开相机闪光灯?
您需要在清单文件中添加此标记。
<uses-feature android:name="android.hardware.camera.flash"/>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.