Android 如何在扩展接收机的课堂上打开带表面支架的摄像机
我的类扩展了broadcastReceiver。我想在ICS中打开torch,只有当你有一个surfaceview时才可能。我怎样才能制作一个可以打开torch的小部件呢!谢谢这个代码不正确!请帮助我一个Android初学者 公共void onReceive(上下文、意图){ RemoteView视图=新的RemoteView(context.getPackageName(),R.layout.camera_小部件)Android 如何在扩展接收机的课堂上打开带表面支架的摄像机,android,camera,widget,surfaceholder,Android,Camera,Widget,Surfaceholder,我的类扩展了broadcastReceiver。我想在ICS中打开torch,只有当你有一个surfaceview时才可能。我怎样才能制作一个可以打开torch的小部件呢!谢谢这个代码不正确!请帮助我一个Android初学者 公共void onReceive(上下文、意图){ RemoteView视图=新的RemoteView(context.getPackageName(),R.layout.camera_小部件) if(isLightOn){ 日志d(标签“亮着”); }否则{ 日志d(标签
if(isLightOn){
日志d(标签“亮着”);
}否则{
日志d(标签“熄灭”);
}
AppWidgetManager AppWidgetManager=AppWidgetManager.getInstance(上下文);
UpdateAppWidgetManager.UpdateAppWidgetGet(新组件名(上下文,FlashlightWidgetProvider.class),视图);
国际单项体育联合会(伊斯莱顿){
如果(照相机!=null){
camera.setPreviewCallback(空);
camera.stopPreview();
相机。释放();
摄像机=零;
}
isLightOn=false;
}否则{
//摄像机打开
numberOfCameras=Camera.getNumberOfCameras();
//查找默认摄影机的ID
camerRainfo camerRainfo=新的camerRainfo();
对于(int i=0;i
if(isLightOn) {
Log.d(tag, "IS LIGHT ON");
} else {
Log.d(tag, "IS LIGHT OFF");
}
AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(context);
appWidgetManager.updateAppWidget(new ComponentName(context, FlashlightWidgetProvider.class),views);
if (isLightOn) {
if (camera != null) {
camera.setPreviewCallback(null);
camera.stopPreview();
camera.release();
camera = null;
}
isLightOn = false;
} else {
//CAMERa OPEN
numberOfCameras = Camera.getNumberOfCameras();
// Find the ID of the default camera
CameraInfo cameraInfo = new CameraInfo();
for (int i = 0; i < numberOfCameras; i++)
{
Camera.getCameraInfo(i, cameraInfo);
if (cameraInfo.facing == CameraInfo.CAMERA_FACING_BACK)
{
defaultCameraId = i;
}
}
try{
// Open the default i.e. the first rear facing camera.
camera = Camera.open(defaultCameraId);
camera.setDisplayOrientation(90);
mPreview.setCamera(camera);
} catch( Exception e ){
Log.e("RECEIVER", "No camera");
mPreview = new CameraPreview(context, camera);
LayoutInflater inflater = (LayoutInflater) context.getApplicationContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
LinearLayout layout_main = new LinearLayout(context);
layout_main.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
layout_main = (LinearLayout) inflater.inflate(R.layout.camera_widget, layout_main);
FrameLayout frameLayout = (FrameLayout) layout_main.findViewById(R.id.camera_widget_frame);
CameraPreview mPreview = new CameraPreview(context, camera);
mPreview.setCamera(camera);
frameLayout.addView(mPreview);
}
Parameters param = camera.getParameters();
param.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);
camera.setParameters(param);
camera.startPreview();
}