Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/190.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何在扩展接收机的课堂上打开带表面支架的摄像机_Android_Camera_Widget_Surfaceholder - Fatal编程技术网

Android 如何在扩展接收机的课堂上打开带表面支架的摄像机

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(标签

我的类扩展了broadcastReceiver。我想在ICS中打开torch,只有当你有一个surfaceview时才可能。我怎样才能制作一个可以打开torch的小部件呢!谢谢这个代码不正确!请帮助我一个Android初学者

公共void onReceive(上下文、意图){ RemoteView视图=新的RemoteView(context.getPackageName(),R.layout.camera_小部件)

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