Quiero crear una pantalla de diálogo como la imagen de perfil de WhatsApp

Hola amigos….

Actualmente estoy tratando de hacer un cuadro de diálogo con intención implícita donde quiero mostrar mi cuadro de diálogo como WhatsApp (Profile Photo Screen) y en esta pantalla whatsApp están utilizando campo extra llamado "Remove Photo". Cuando intento hacer el mismo tipo de diálogo de la pantalla entonces no puedo agregar este campo adicional ("quitar la foto"). He hecho todo el código. Su funcionamiento muy bien para la opción tres en diálogo como (galería, foto, cámara) y soy incapaz de manejar todos estos en onActivityResult (). Estoy enviando mi código fuente todo lo que he intentado mucho duro, pero no soy capaz de encontrar la solución para hacerlo. Amigos plz ….. me ayudan a salir de esto.

En este código simplemente crear un método llamado openFileChooser () en el que tengo escribir todo el código para crear la pantalla de diálogo y manejar estos resultados en onActivityResult ()

Aquí está mi código

PerfilPhotoActivity.java

public class ProfilePhotoActivity extends Activity implements OnClickListener{ ImageButton back, editPhoto, selectAction; ImageView imgCamera; private static final int FILECHOOSER_RESULTCODE = 2888; protected static final int CAMERA_REQUEST = 0; protected static final int GALLERY_PICTURE = 1; private Uri mCapturedImageURI = null; Intent intent; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); setContentView(R.layout.activity_profilephoto); back=(ImageButton)findViewById(R.id.btn_back); editPhoto=(ImageButton)findViewById(R.id.ibEditPhoto); selectAction=(ImageButton)findViewById(R.id.ibSelectAction); imgCamera=(ImageView)findViewById(R.id.imvProfilePhoto); editPhoto.setOnClickListener(this); selectAction.setOnClickListener(this); back.setOnClickListener(this); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.btn_back: ProfilePhotoActivity.this.finish(); break; case R.id.ibEditPhoto: openFileChooser(null, null); // startDialog(); break; case R.id.ibSelectAction: break; } } public void openFileChooser(ValueCallback<Uri> uploadMsg, String acceptType){ try{ // Create AndroidExampleFolder at sdcard File imageStorageDir = new File( Environment.getExternalStoragePublicDirectory( Environment.DIRECTORY_PICTURES) , "AndroidExampleFolder"); if (!imageStorageDir.exists()) { // Create AndroidExampleFolder at sdcard imageStorageDir.mkdirs(); } // Create camera captured image file path and name File file = new File( imageStorageDir + File.separator + "IMG_" + String.valueOf(System.currentTimeMillis()) + ".jpg"); mCapturedImageURI = Uri.fromFile(file); // Camera capture image intent final Intent captureIntent = new Intent( android.provider.MediaStore.ACTION_IMAGE_CAPTURE); captureIntent.putExtra(MediaStore.EXTRA_OUTPUT, mCapturedImageURI); Intent i = new Intent(Intent.ACTION_PICK); // i.addCategory(Intent.CATEGORY_OPENABLE); i.setType("image/*"); // Create file chooser intent Intent chooserIntent = Intent.createChooser(i, "Image Chooser"); // Set camera intent to file chooser chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS , new Parcelable[] { captureIntent }); // On select image call onActivityResult method of activity startActivityForResult(chooserIntent, FILECHOOSER_RESULTCODE); } catch(Exception e){ Toast.makeText(getBaseContext(), "Exception:"+e, Toast.LENGTH_LONG).show(); } } protected void onActivityResult(int requestCode, int resultCode,Intent intent) { if(requestCode==FILECHOOSER_RESULTCODE) { if (requestCode == GALLERY_PICTURE) { if (resultCode == RESULT_OK) { if (intent != null) { // our BitmapDrawable for the thumbnail BitmapDrawable bmpDrawable = null; // try to retrieve the image using the data from the intent Cursor cursor = getContentResolver().query(intent.getData(), null, null, null, null); if (cursor != null) { cursor.moveToFirst(); int idx = cursor.getColumnIndex(ImageColumns.DATA); String fileSrc = cursor.getString(idx); Bitmap galleryBitmap = BitmapFactory.decodeFile(fileSrc); // load preview image galleryBitmap = Bitmap.createScaledBitmap(galleryBitmap, 200, 200, true); String filePath = Environment.getExternalStorageDirectory() .getAbsolutePath()+"/TimeChat/image/"+System.currentTimeMillis()+".jpg"; //imgCamera.setRotation(0); imgCamera.setImageBitmap(galleryBitmap); // writeToFile(filePath, galleryBitmap); } else { bmpDrawable = new BitmapDrawable(getResources(), intent.getData().getPath()); imgCamera.setImageDrawable(bmpDrawable); } } else { Toast.makeText(getApplicationContext(), "Cancelled", Toast.LENGTH_SHORT).show(); } } else if (resultCode == RESULT_CANCELED) { Toast.makeText(getApplicationContext(), "Cancelled", Toast.LENGTH_SHORT).show(); } } else if (requestCode == CAMERA_REQUEST) { if (resultCode == RESULT_OK) { if (intent.hasExtra("data")) { // retrieve the bitmap from the intent Bitmap cameraBitmap = (Bitmap) intent.getExtras().get("data"); String filePath = Environment.getExternalStorageDirectory() .getAbsolutePath()+"/TimeChat/image/"+System.currentTimeMillis()+".jpg"; // update the image view with the bitmap imgCamera.setImageBitmap(cameraBitmap); // writeToFile(filePath, circleBitmap); } else if (intent.getExtras() == null) { Toast.makeText(getApplicationContext(), "No extras to retrieve!", Toast.LENGTH_SHORT).show(); BitmapDrawable thumbnail = new BitmapDrawable(getResources(), intent.getData().getPath()); // update the image view with the newly created drawable imgCamera.setImageDrawable(thumbnail); } } else if (resultCode == RESULT_CANCELED) { Toast.makeText(getApplicationContext(), "Cancelled", Toast.LENGTH_SHORT).show(); } } } } @Override public void onBackPressed() { // TODO Auto-generated method stub super.onBackPressed(); ProfilePhotoActivity.this.finish(); } } 

One Solution collect form web for “Quiero crear una pantalla de diálogo como la imagen de perfil de WhatsApp”

Esto parece que será un problema:

  if(requestCode==FILECHOOSER_RESULTCODE) { if (requestCode == GALLERY_PICTURE) 

A menos que FILECHOOSER_RESULTCODE y GALLERY_PICTURE sean los mismos ints entonces la sentencia nunca pasará.

  • Transición de elementos compartidos de Android: transformación de un ImageView de un círculo a un rectángulo y viceversa
  • ¿Cómo compartir el texto de WhatsApp desde mi aplicación?
  • ¿Cómo comprobar si un contacto en el libro de teléfonos android tiene whatsapp habilitado?
  • ¿Cómo crear la carpeta de la galería en android programmatically?
  • ¿Cómo crear notificaciones emergentes como la notificación utilizada en whatsapp para android?
  • WhatsApp almacenamiento de datos - todos los datos almacenados localmente en el teléfono?
  • ¿Cómo funciona la autenticación de WhatsApp?
  • Ejecutar varias instancias de aplicación para Android, como espacio paralelo
  • Despliegue de diseño en una barra de herramientas con imágenes y texto e iconos en Android
  • Verificación del número de teléfono Android
  • Enviar el mensaje whatsapp al contacto especfico
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.