0
  1. пункт Список

Я существующий рынок место версия приложения работает нормально со всеми другими андроид версии. Но недавно я заметил, что функции загрузки изображений моего приложения (через галерею и камеру) не работают на моем телефоне (недавно обновлен до Нуги). На отладку я заметил, что код врывается ниже точкифайла (камера, галерея подборщика и т.д.) не работает в Android Нуга

ExifInterface exif = new ExifInterface(uriImage.toString()); 

Хотя uriImage, кажется, правильный URL. (Значение я подтвердил это делает новый файл (uriImage.toString()), и это, кажется, работает хорошо. Значение uriImage.toString() в этот момент ..

Я был искать в Интернете это и не обнаружило никаких результатов. Хотя я подозреваю, что поведение нуги объяснено в ссылке ниже. Я сделал изменения, предложенные автором, но проблема не исчезла. ниже мой код для запуска камеры/Picker намерения

 public static Uri startChooseImage(Activity parent, String tag, String message, boolean useCamera, int requestId) 
    { 
    Uri uriImage = FileProvider.getUriForFile(parent, 
      "com.dyt.fileprovider", 
      new File(
        Environment.getExternalStorageDirectory() + File.separator + tag)); 
/* Uri uriImage = Uri.fromFile(new File(
     Environment.getExternalStorageDirectory() + File.separator + tag));*/ 
    Intent selIntent = new Intent("android.intent.action.PICK").setType("image/*"); 
    selIntent.setFlags(FLAG_GRANT_READ_URI_PERMISSION); 
    selIntent.setFlags(FLAG_GRANT_WRITE_URI_PERMISSION); 
    Intent chooserIntent = Intent.createChooser(selIntent, message); 
    if (useCamera) { 
     List<Intent> intentsList = new ArrayList(); 
     Intent camIntent = new Intent("android.media.action.IMAGE_CAPTURE"); 
     camIntent.setFlags(FLAG_GRANT_READ_URI_PERMISSION); 
     camIntent.setFlags(FLAG_GRANT_WRITE_URI_PERMISSION); 
     PackageManager pm = parent.getPackageManager(); 
     List<ResolveInfo> listCam = pm.queryIntentActivities(camIntent, 0); 
     for (ResolveInfo res : listCam) { 
     Intent finalIntent = new Intent(camIntent); 
     finalIntent.setComponent(new ComponentName(res.activityInfo.packageName, res.activityInfo.name)); 

     finalIntent.putExtra("output", uriImage); 
     intentsList.add(finalIntent); 
     } 
     chooserIntent.putExtra("android.intent.extra.INITIAL_INTENTS", 
     (Parcelable[])intentsList.toArray(new Parcelable[intentsList.size()])); 
    } 
    parent.startActivityForResult(chooserIntent, requestId); 
    return uriImage; 
    } 

Может ли кто-нибудь помочь мне по этому поводу?

+1

'uriImage.toString()'. Пожалуйста, сообщите его значение. – greenapps

+0

В вашем сообщении нет кода для загрузки, кроме кода, в котором используется линия ссылок c exif. – greenapps

+0

«код разбивается на нижнюю точку». Что такое «разрывы кода»? – greenapps

ответ

1

// добавить файл манифеста приложения

<provider 
     android:authorities="com.package.name" 
     android:name="android.support.v4.content.FileProvider" 
     android:grantUriPermissions="true" 
     android:readPermission="true"> 
     <meta-data 
      android:name="android.support.FILE_PROVIDER_PATHS" 
      android:resource="@xml/image_path"> 
     </meta-data> 
    </provider> 

// Путь изображения определяют в новом файле XML

<?xml version="1.0" encoding="utf-8"?> 

<external-path 
    name="images" 
    path="Android/data/Apppackagename/files/Pictures"/>