Я хочу получить фотографии из встроенной галереи Android, вызывающей ACTION_PICK
Intent. У меня проблема с изображениями Picasa. Я использовал код для этого link, но он не работает (объект File не существует). Любая идея, пожалуйста.Android Как получить фотографию picasa из встроенной галереи?
7
A
ответ
0
код работает, если это вставить эту инструкцию:
intent.putExtra("crop", "true");
0
- запуск
ACTION_GET_CONTENT
намерения вместоACTION
_PICK - обеспечивает
MediaStore.EXTRA_OUTPUT
дополнительные с URI для временного файла.
Добавьте это в вызывающей деятельность:
Файл yourFile;
Теперь используйте этот code to get Intent
:
yourFile = getFileStreamPath("yourTempFile");
yourFile.getParentFile().mkdirs();
Intent galleryIntent = new Intent(Intent.ACTION_GET_CONTENT, null);
galleryIntent .setType("image/*");
galleryIntent .putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(yourFile));
galleryIntent.putExtra("outputFormat", Bitmap.CompressFormat.PNG.name());
startActivityForResult(galleryIntent, GALLERY_PIC_REQUEST);
УБЕДИСЬ yourFile
создаются
Также в вашем вызывающей деятельности
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
switch(requestCode){
case GALLERY_PIC_REQUEST:
File file = null;
Uri imageUri = data.getData();
if (imageUri == null || imageUri.toString().length() == 0) {
imageUri = Uri.fromFile(mTempFile);
file = mTempFile;
//this is the file you need! Check it
}
//if the file did not work we try alternative method
if (file == null) {
if (requestCode == 101 && data != null) {
Uri selectedImageUri = data.getData();
String selectedImagePath = getPath(selectedImageUri);
//check this string to extract picasa id
}
}
break;
}
}
public String getPath(Uri uri) {
String[] projection = { MediaStore.Images.Media.DATA };
Cursor cursor = managedQuery(uri, projection, null, null, null);
if(cursor!=null)
{
int index = cursor
.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
cursor.moveToFirst();
return cursor.getString(index);
}
else return null;
}
5
ACTIVITYRESULT_CHOOSEPICTURE является ИНТОМ использовать при вызове startActivity (Интен t, requestCode);
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if(requestCode == ACTIVITYRESULT_CHOOSEPICTURE) {
BitmapFactory.Options options = new BitmapFactory.Options();
final InputStream is = context.getContentResolver().openInputStream(intent.getData());
final Bitmap bitmap = BitmapFactory.decodeStream(is, null, options);
is.close();
}
}
+0
спасибо за это, он отлично работает, даже когда изображение происходит от пикасы. Не забудьте сделать этот код в потоке, так как он может загружать контент из сети. –
0
Используйте этот код
final Uri tempUri = data.getData();
Uri imageUri = null;
final InputStream imageStream;
try {
imageStream = getActivity().getContentResolver().openInputStream(tempUri);
Bitmap selectedImage = BitmapFactory.decodeStream(imageStream);
imageUri = getImageUri(getActivity(), selectedImage);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
public Uri getImageUri(Context inContext, Bitmap inImage) {
ByteArrayOutputStream bytes = new ByteArrayOutputStream();
inImage.compress(Bitmap.CompressFormat.JPEG, 100, bytes);
String path = MediaStore.Images.Media.insertImage(inContext.getContentResolver(), inImage, "Title", null);
return Uri.parse(path);
}
Смежные вопросы
- 1. Как мне получить фотографию из галереи телефона?
- 2. Как получить фотографию из picasa как двоичное изображение
- 3. Android - изображение не отображается из встроенной галереи
- 4. android: выборка изображений из встроенной галереи
- 5. Невозможно выбрать фотографию из галереи?
- 6. Как скопировать фотографию из галереи в dataDirectory?
- 7. appium как выбрать фотографию из галереи
- 8. Загрузить изображение из встроенной галереи
- 9. Как отправить фотографию из галереи программно?
- 10. Android: Как установить фотографию, выбранную из галереи в растр
- 11. Выберите фотографию из галереи/камер InAppBrowser
- 12. Как мы можем отображать фотографию из API java Picasa?
- 13. Java Android выбрать фотографию из галереи для папки
- 14. Android: Получить видео из галереи
- 15. Android - Получить изображение пользователя из галереи
- 16. android Загрузить изображение Из галереи из альбома picasa или из Google+ Фотографии, получающих нуль
- 17. Извлеките изображение, не кэшированное Picasa из галереи. 3,0 и 4,0
- 18. Как получить адрес из галереи в android
- 19. CakePHP Как получить фотографию из разных таблиц?
- 20. android app обои из галереи
- 21. Android получить фотографию из ориентации камеры падает
- 22. Как открыть файл изображения только с помощью встроенной галереи Android?
- 23. Как получить изображение из галереи?
- 24. Как получить фотографию из Facebook?
- 25. Как я могу загрузить фотографию из галереи на parse.com?
- 26. Как получить фотографию с определенным названием из Picasa с использованием Java API
- 27. Как получить отдельную фотографию по ID из Picasa с помощью API-интерфейса google-gdata .net
- 28. Внедрение Picasa в Android
- 29. Получить изображение из стандартной галереи Android
- 30. Android получить только изображение из галереи
mTempFile файл всегда пуст. –
это не работает, если изображение находится в picasa .. –