я м выбора изображения из галереи и урожая в моем телефоне и загружать на сервер ..Как выбрать изображение из галереи
Когда им тестирование Someother устройств, то изображения было поднято Невозможно к некоторым устройствам
public void selectImageFromGallery() {
String TEMP_PHOTO_FILE = "temporary_holder.jpg";
Intent photoPickerIntent = new Intent(Intent.ACTION_PICK,
android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
photoPickerIntent.setType("image/*");
photoPickerIntent.putExtra("crop", "true");
photoPickerIntent.putExtra(MediaStore.EXTRA_OUTPUT, getTempUri());
photoPickerIntent.putExtra("outputFormat", Bitmap.CompressFormat.JPEG.toString());
startActivityForResult(photoPickerIntent, PICK_IMAGE);
}
private Uri getTempUri() {
return Uri.fromFile(getTempFile());
}
private File getTempFile() {
if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
File file = new File(Environment.getExternalStorageDirectory(),"temporary_holder.jpg");
try {
file.createNewFile();
} catch (IOException e) {}
return file;
} else {
return null;
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode,
Intent imageReturnedIntent) {
super.onActivityResult(requestCode, resultCode, imageReturnedIntent);
switch (requestCode)
{
case PICK_IMAGE:
if (resultCode == RESULT_OK) {
if (imageReturnedIntent!=null) {
File tempFile = getTempFile();
String filePath= Environment.getExternalStorageDirectory()
+"/"+"temporary_holder.jpg";
System.out.println("path "+filePath);
decodeFile(filePath);
if (tempFile.exists()) tempFile.delete();
}
}
}
}
/**
* The method decodes the image file to avoid out of memory issues. Sets the
* selected image in to the ImageView.
*
* @param filePath
*/
public void decodeFile(String filePath) {
// Decode image size
BitmapFactory.Options o = new BitmapFactory.Options();
o.inJustDecodeBounds = true;
BitmapFactory.decodeFile(filePath, o);
// The new size we want to scale to
final int REQUIRED_SIZE = 1024;
// Find the correct scale value. It should be the power of 2.
int width_tmp = o.outWidth, height_tmp = o.outHeight;
int scale = 1;
while (true) {
if (width_tmp < REQUIRED_SIZE && height_tmp < REQUIRED_SIZE)
break;
width_tmp /= 2;
height_tmp /= 2;
scale *= 2;
}
// Decode with inSampleSize
BitmapFactory.Options o2 = new BitmapFactory.Options();
o2.inSampleSize = scale;
bitmap = BitmapFactory.decodeFile(filePath, o2);
roundedImage=new RoundedImage(bitmap);
image.setImageDrawable(roundedImage);
}
вот мой код пожалуйста, скажите мне, где я делаю Wrong
Я хочу удалить, чтобы создать новый файл на SD-карту, если SD-карта не доступна ни в пространстве приложение Crashed
Возможный дубликат [Как выбрать изображение из галереи (SD-карта) для моего приложения?] (Http://stackoverflow.com/questions/2507898/how-to-pick-an-image-from-gallery- sd-card-for-my-app) – Tobrun
Это то, что происходит, когда вы копируете/вставляете код из устаревших/неполных руководств, не понимая, что делает код ... – 2Dee
@ 2Dee ..I m new На Android учебник должен был выбрать изображение из галереи и загрузка на сервер – user3825086