Я хочу обновить изображение в своем приложении с помощью внешнего редактора изображений. Я использую следующий код для запуска приложения для обновления изображения.Галерея фотографий Android не возвращает URI при использовании намерения. CATION_EDIT
private void dispatchAdjustImage(){
try {
Integer mImageId = ImageHelper.getImageIdFromRealPath(getString(R.string.imageFilePath) + getString(R.string.imageFileName), getContentResolver());
Uri uri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI.buildUpon().appendPath(mImageId.toString()).build();
Intent adjustPictureIntent = new Intent();
adjustPictureIntent.setDataAndType(uri, "image/*");
adjustPictureIntent.setAction(Intent.ACTION_EDIT);
adjustPictureIntent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
adjustPictureIntent.setFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
startActivityForResult(adjustPictureIntent, REQUEST_IMAGE_ADJUST);
}catch (ActivityNotFoundException anfe) {
Global.showDialog(NfScannerActivity.this, getString(R.string.msgErrorAdjustImageAppMissing),
getString(R.string.msgDownloadPhotoEditor), getString(R.string.textYes),
getString(R.string.textNo), getString(R.string.motorolaGalleryGooglePlayLink)).show();
}catch (Exception ex) {
Toast.makeText(mContext, R.string.msgErrorAdjustImage, Toast.LENGTH_LONG).show();
}
}
и это onActivityResult
public void onActivityResult(int requestCode, int resultCode, Intent intent) {
super.onActivityResult(requestCode, resultCode, intent);
switch (requestCode)
{
case REQUEST_IMAGE_ADJUST:
getAdjustImageResults(resultCode, intent);
unprotectViewFields();
break;
}
}
private void getAdjustImageResults(int resultCode, Intent intent) {
if (resultCode == Activity.RESULT_OK)
{
clearViewFields();
try {
Uri adjustedImageUri = intent.getData();
String mFullFileName = ImageHelper.getRealPathFromURI(adjustedImageUri, this);
mImageBitmap = ImageHelper.readImageFromDisk(mFullFileName);
ImageHelper.deleteImageFromDisk(mFullFileName);
saveAndLoadImage();
} catch (Exception e) {
showErrorDialog(getString(R.string.msgErrorAdjustImage));
}
}
}
Когда я использую Motorola Gallery приложение, чтобы обновить изображение каждая вещь идет Rigth. Запускается приложение Gallery Motorla, я обновляю изображение, сохраняю его и когда элемент управления возвращается в onActivityResult, можно получить и обработать обновленное изображение. Возвращенное намерение состоит в том, как этот намерения = {Intent @ 5486} {Intent Дат = содержания: // СМИ/внешние/изображения/СМИ/22544}
Когда я использую Google приложение фото кода intent.getData () возвращает такое намерение intent = {Intent @ 5486} Intent {typ = image/jpeg} в отладчике. В возвращенном намерении нет Uri, и я не могу получить изображение, которое было обновлено. Также нет дополнительных услуг.
Что мне не хватает? Спасибо.
Привет, CommnsWare, вы совершенно. Просто выбрал обновленное изображение из предыдущего URI для Google Photo App. Приложение Motorola Gallery возвращает намерение, потому что оно создает новое изображение. Спасибо +1. – Carlos