una studio seleccionar pendrive paso pasar movil memoria imagen galeria fotos desde crear como celular carpeta cargar android imageview android-camera-intent

android - studio - Seleccione Imagen de Galería/Cámara/Dropbox, etc.



como paso fotos de mi celular a un pendrive (2)

Para elegir la imagen de Camera / Gallery / DropBox O de cualquier otro sistema de archivos del dispositivo, solo llame a la intención implícita ...

El siguiente código puede ayudarte ...

pickbtn.setOnClickListener(new OnClickListener() { @Override public void onClick(View v){ if (Environment.getExternalStorageState().equals("mounted")){ Intent intent = new Intent(); intent.setType("image/*"); intent.setAction(Intent.ACTION_PICK); startActivityForResult(Intent.createChooser(intent, "Select Picture:"), Constants.PICK_IMAGE_FROM_LIBRARY); } } });

Ahora usa el resultado de OnActivity para obtener datos ...

@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if(requestCode == Constants.PICK_IMAGE_FROM_LIBRARY) { if (resultCode == RESULT_OK) { Uri selectedImageUri = data.getData(); String selectedImagePath = getPath(selectedImageUri); mImagePath = selectedImagePath; Bitmap photo = getPreview(selectedImagePath); mImageViewProfileImage.setImageBitmap(photo); } } public String getPath(Uri uri) { String[] projection = { MediaStore.Images.Media.DATA }; Cursor cursor = managedQuery(uri, projection, null, null, null); int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA); cursor.moveToFirst(); return cursor.getString(column_index); } public Bitmap getPreview(String fileName) { File image = new File(fileName); BitmapFactory.Options bounds = new BitmapFactory.Options(); bounds.inJustDecodeBounds = true; BitmapFactory.decodeFile(image.getPath(), bounds); if ((bounds.outWidth == -1) || (bounds.outHeight == -1)) { return null; } int originalSize = (bounds.outHeight > bounds.outWidth) ? bounds.outHeight : bounds.outWidth; BitmapFactory.Options opts = new BitmapFactory.Options(); opts.inSampleSize = originalSize / 64; return BitmapFactory.decodeFile(image.getPath(), opts); } }

Cómo dar al usuario la opción de elegir una imagen desde la Camera / Gallery / DropBox O cualquier otro sistema de archivos del dispositivo y mostrarlo en una actividad como un objeto ImageView .


Si desea mostrar todas las aplicaciones instaladas en el teléfono que pueden tratar con fotos tales como Cámara, Galería, Dropbox, etc.

Puedes hacer algo como:

1.- Pregunte por todos los intentos disponibles:

Intent camIntent = new Intent("android.media.action.IMAGE_CAPTURE"); Intent gallIntent=new Intent(Intent.ACTION_GET_CONTENT); gallIntent.setType("image/*"); // look for available intents List<ResolveInfo> info=new ArrayList<ResolveInfo>(); List<Intent> yourIntentsList = new ArrayList<Intent>(); PackageManager packageManager = context.getPackageManager(); List<ResolveInfo> listCam = packageManager.queryIntentActivities(camIntent, 0); for (ResolveInfo res : listCam) { final Intent finalIntent = new Intent(camIntent); finalIntent.setComponent(new ComponentName(res.activityInfo.packageName, res.activityInfo.name)); yourIntentsList.add(finalIntent); info.add(res); } List<ResolveInfo> listGall = packageManager.queryIntentActivities(gallIntent, 0); for (ResolveInfo res : listGall) { final Intent finalIntent = new Intent(gallIntent); finalIntent.setComponent(new ComponentName(res.activityInfo.packageName, res.activityInfo.name)); yourIntentsList.add(finalIntent); info.add(res); }

2.- Muestra un cuadro de diálogo personalizado con la lista de elementos:

AlertDialog.Builder dialog = new AlertDialog.Builder(context); dialog.setTitle(context.getResources().getString(R.string.select_an_action)); dialog.setAdapter(buildAdapter(context, activitiesInfo), new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int id) { Intent intent = intents.get(id); context.startActivityForResult(intent,1); } }); dialog.setNeutralButton(context.getResources().getString(R.string.cancel), new android.content.DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); } }); dialog.show();

Este es un ejemplo completo: https://gist.github.com/felixgborrego/7943560