Android Fail to connect to camera service

前端 未结 3 1937
傲寒
傲寒 2020-12-11 02:17

When the user click on Camera, it open next screen after few seconds it throws Fail to connect to camera service

and it say cannot connect to ca

3条回答
  •  情歌与酒
    2020-12-11 03:15

    Here's my application code -- hope it helps:

    public class CameraActivity extends Activity {
        ImageView img_logo;
        public static Bitmap bitmap;
        public static  String selectedImagePath="";
        protected boolean _taken;   
        protected static final String PHOTO_TAKEN   = "photo_taken";
        int count = 0;
        static String image1 = "";
        /*static String _path="";
        Bitmap bita;
        ParsingForCabDetails obj_ParsingForCabDetails;
        InputStream is;
        protected boolean _taken;   
        protected static final String PHOTO_TAKEN = "photo_taken";*/
        ProgressDialog pd;
        //ImageView iv;
        Button cancel,Ok;
        String alert="";
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.camera);
    
            img_logo = (ImageView) findViewById(R.id.camera_image);
            cancel = (Button) findViewById(R.id.camera_taken);
            upload = (Button) findViewById(R.id.camerabtnupload);
    
            if(image1.length()<= 0)
            startCameraActivity();
    
            upload.setOnClickListener(new OnClickListener() {
    
                public void onClick(View v) {
                    finish();
                    if(image1.length() > 0){
                    pd = ProgressDialog.show(SmallyTaxiTabbar.tabContext, "", "Loading....");
                    new Thread(new Runnable() {
    
                            public void run() {
    
                                LoardServer();
                                handler.sendEmptyMessage(0);
    
                            }
                        }).start();
    
                }
                    else
                        Toast.makeText(getApplicationContext(),"No Capture Image",2000).show();
                }
    
    
            });
            img_logo.setOnClickListener(new OnClickListener() {
    
                public void onClick(View v) {
                    // TODO Auto-generated method stub
                    startCameraActivity();  
                }
            });
    
            cancel.setOnClickListener(new OnClickListener() {
    
                public void onClick(View v) {
                    finish();
                    selectedImagePath= "";
                    image1="";
                    }
            });
    
    
        }
    
    
        public void LoardServer() {
        // this is use for upload image or save image   
    
        }
    
    
        private Handler handler = new Handler(){
            public void handleMessage(android.os.Message msg) {
                pd.dismiss();
                finish();
                if(alert.length() >0 ){
                    Log.d("hello","alert"+alert);
                    Toast.makeText(getApplicationContext(),alert, 2000).show();
                }
                else
                    FindCabDetails.iv_camera.setImageBitmap(bitmap);
    
                selectedImagePath= "";
                image1="";
    
            };
        };
        protected void startCameraActivity() {
            selectedImagePath = Environment.getExternalStorageDirectory() + "/default"+count+".jpg";
            count++;
            File file = new File(selectedImagePath);
            Uri outputFileUri = Uri.fromFile(file);
            Intent intent = new Intent (android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
            intent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri);
            startActivityForResult(intent, 0);
            }
            @Override
            protected void onActivityResult(int requestCode, int resultCode, Intent data) {
            switch (resultCode) {
            case -1:
            onPhotoTaken();
            break;
            }
            }
            protected void onPhotoTaken() {
            _taken = true;
            bitmap = BitmapFactory.decodeFile(selectedImagePath);
            bitmap = decodeFile();
            image1 = selectedImagePath;
            img_logo.setImageBitmap(bitmap);
    
            }
            @Override
            protected void onRestoreInstanceState(Bundle savedInstanceState) {
            if (savedInstanceState.getBoolean(PHOTO_TAKEN)) {
            onPhotoTaken();
            }
            }
            @Override
            protected void onSaveInstanceState(Bundle outState) {
            outState.putBoolean(PHOTO_TAKEN, _taken);
            }
            private Bitmap decodeFile() {
            try {
            // decode image size
            BitmapFactory.Options o = new BitmapFactory.Options();
            o.inJustDecodeBounds = true;
            BitmapFactory.decodeStream(new FileInputStream( selectedImagePath), null, o);
            final int REQUIRED_SIZE = 70;
            int width_tmp = o.outWidth, height_tmp = o.outHeight;
            int scale = 1;
            while (true) {
            if (width_tmp / 2 < REQUIRED_SIZE
            || height_tmp / 2 < REQUIRED_SIZE)
            break;
            width_tmp /= 2;
            height_tmp /= 2;
            scale++;
            }
            // decode with inSampleSize
            BitmapFactory.Options o2 = new BitmapFactory.Options();
            o2.inSampleSize = scale;
            return BitmapFactory.decodeStream(new FileInputStream(selectedImagePath), null, o2);
            } catch (FileNotFoundException e) {
            }
            return null;
            }
            public boolean onKeyDown(int keyCode, KeyEvent event) {
                if(keyCode==KeyEvent.KEYCODE_BACK)
                {
                    finish();
                }
                return super.onKeyDown(keyCode, event);
            }
    
    }
    

    Use this camera.xml

     
        
            
                
                
                
            
            
        
    

    AndroidManifest.xml

     
     
     
    

提交回复
热议问题