Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Android No se puede conectar al servicio de cámara

Cuando el usuario haga clic en la cámara, se abre la siguiente pantalla después de unos segundos que lanza No se Fail to connect to camera service

Y dice cannot connect to camera

Este es mi código:

  public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); View viewLoad = LayoutInflater.from(CameraActivity.this).inflate(R.layout.camera, null); setContentView(viewLoad); Bundle bundle = this.getIntent().getExtras(); seletctedRetailer = bundle.getString("RetailerName"); retailerCode = bundle.getString("RetailerCode"); Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); Bundle b = new Bundle(); b.putString("Activity", "RetailerOrderSActivity"); b.putString("RetailerName", seletctedRetailer); b.putString("RetailerCode", retailerCode); cameraIntent.putExtras(b); getParent().getParent().setTitle("Image Capture"); startActivityForResult(cameraIntent,CAMERA_PIC_REQUEST); vale +=1; Button imgMCancel =(Button)findViewById(R.id.imgMCancel); imgMCancel.setOnClickListener(new OnClickListener() { public void onClick(View v) { Intent i = new Intent(getBaseContext(), CameraMainActivity.class); Bundle bundle = new Bundle(); bundle.putString("Activity", "CameraMainActivity"); bundle.putString("RetailerName", seletctedRetailer); bundle.putString("RetailerCode", retailerCode); i.putExtras(bundle); View vi = SalesActivityGroup.group.getLocalActivityManager().startActivity("CameraMainActivity", i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)).getDecorView(); SalesActivityGroup.group.replaceView(vi); } }); } protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (resultCode == CAMERA_PIC_REQUEST) { System.out.println("====YES======"); Bitmap thumbnail = (Bitmap) data.getExtras().get("data"); ImageView image = (ImageView) findViewById(R.id.imageView1); image.setImageBitmap(thumbnail); } } 

Este es mi diseño:

  <?xml version="1.0" encoding="utf-8"?> 

  <LinearLayout android:id="@+id/header" android:layout_height="wrap_content" android:layout_marginBottom="10dp" android:layout_marginTop="75dp" android:layout_width="fill_parent"> <Button android:layout_width="wrap_content" android:text="Cancel" android:textColor="#FFFFFF" android:background="@drawable/btn_red" android:layout_height="wrap_content" android:layout_marginLeft="5dp" android:layout_marginRight="150dp" android:id="@+id/imgMCancel" > </Button> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/buttonClick" android:text="Make Photo" android:textColor="#FFFFFF" android:background="@drawable/btn_red" android:layout_gravity="center"> </Button> </LinearLayout> 

Este es mi archivo AndroidManifest.xml

  <activity android:name=".sales.CameraActivity" android:screenOrientation="landscape" android:configChanges="orientation|keyboardHidden" android:clearTaskOnLaunch="false"> <intent-filter> <action android:name="android.media.action.IMAGE_CAPTURE" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity> 

Hice esto de acuerdo con este enlace http://mobile.tutsplus.com/tutorials/android/android-sdk-quick-tip-launching-the-camera/

Por favor, ayúdame. ¿Qué es un problema? Mi aplicación contiene Tab ActivityGroup.

Gracias por adelantado..

3 Solutions collect form web for “Android No se puede conectar al servicio de cámara”

Aquí está mi código de aplicación – espero que ayude:

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

Utilice esta cámara.xml

  <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:background="#FFFFFF" android:layout_height="fill_parent" android:layout_width="fill_parent"> <RelativeLayout android:id="@+id/relativeLayout1" android:layout_width="fill_parent" android:background="@drawable/bottoombg" android:layout_height="wrap_content"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerVertical="true" android:layout_centerHorizontal="true" android:textColor="#FBB917" android:textStyle="bold" android:textSize="20dip" android:id="@+id/txtCabNametitle" android:text="Camera"></TextView> <Button android:layout_alignParentRight="true" android:layout_centerVertical="true" android:background="@drawable/filter_btn1" android:layout_marginRight="5dip" android:layout_height="30dip" android:textColor="#FFFFFF" android:text="Upload" android:layout_width="70dip" android:id="@+id/camerabtnupload"></Button> <Button android:layout_centerVertical="true" android:background="@drawable/btn_press_effect" android:layout_height="30dip" android:textColor="#FFFFFF" android:paddingLeft="10dip" android:id="@+id/camera_taken" android:text="Cancel" android:layout_width="70dip"></Button> </RelativeLayout> <ImageView android:id="@+id/camera_image" android:layout_centerVertical="true" android:layout_centerHorizontal="true" android:layout_height="200dip" android:layout_width="200dip"></ImageView> </RelativeLayout> 

AndroidManifest.xml

  <uses-permission android:name="android.permission.CAMERA" /> <uses-feature android:name="android.hardware.camera" /> <uses-feature android:name="android.hardware.camera.autofocus" /> 

Has olvidado algo en tu manifiesto, mira aquí Cámara Clase

Agregue esto a su manifiesto:

  <uses-permission android:name="android.permission.CAMERA" /> <uses-feature android:name="android.hardware.camera" /> <uses-feature android:name="android.hardware.camera.autofocus" /> 

¡Espero eso ayude!

Usted tiene que desbloquear la cámara antes de obtener la vista previa y bloquear la cámara correctamente antes de cerrar su aplicación. Si la cámara no está bloqueada correctamente, la próxima vez que su aplicación pueda lanzar una excepción. Así que, tienes que reiniciar tu dispositivo …

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.