Невозможно поделиться файлом изображения с другим приложением с помощью FileProvider

#android #image #android-intent #uri #fileprovider

#Android #изображение #android-намерение #uri #fileprovider

Вопрос:

У меня есть список изображений, и я хочу поделиться выбранным изображением.Для этого я использовал FileProvider. Я запускаю приложение на Android 10. Также я пробовал без shareIntent(намерение.EXTRA_STREAM, uri), затем приложение открывает общий доступ только через диалоги.После того, как вы ничего не поделились, просто возвращаете приложение.

в AndroidManifest.xml;

 <provider
        android:name="androidx.core.content.FileProvider"
        android:authorities="${applicationId}.provider"
        android:exported="false"
        android:grantUriPermissions="true">
        <meta-data
            android:name="android.support.FILE_PROVIDER_PATHS"
            android:resource="@xml/file_provider_paths" />
    </provider>
  

в путях;

 <paths>
<files-path
    name="files"
    path="/" />
<cache-path
    name="cache"
    path="/" />
  

вот как я использовал и начал намерение,

  int pos = getAdapterPosition();

 File imageFile = new File(imageQuotes.get(pos).getPath());
 Uri uri = FileProvider.getUriForFile(mContext, BuildConfig.APPLICATION_ID   ".provider", imageFile);

 Intent shareIntent = new Intent(Intent.ACTION_SEND);
 shareIntent.setDataAndType(uri,"image/*");
 shareIntent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
 shareIntent.putExtra(Intent.EXTRA_STREAM, uri);
 mContext.startActivity(shareIntent);
  

При запуске приложения, после того, как я выбрал WhatsApp для ie. Мой файл изображения отправлен как файл BIN и не имеет предварительного просмотра изображения в WhatsApp.
uri не равен нулю и содержит содержимое://com.scoto.partestestapplication.provider/files/ SavedImageQuotes/Partes_1601815401590

Комментарии:

1. Пожалуйста, сообщите значение imageQuotes.get(pos).getPath() , поскольку мы не знаем, какой путь к файлу это будет.

2. My image file sent as a BIN file and not has image preview on whatsapp. Что вы имеете в виду под файлом as BIN? И почему должен быть предварительный просмотр? И в чем именно проблема? Этот предварительный просмотр?

3. значение imageQuotes.get(pos).getPath() _ /data/user/0/com.scoto.partestestapplication/files/SavedImageQuotes/Partes_1601815401590_, а значение uri.toString содержимое://com.scoto.partestestapplication . provider/files/ SavedImageQuotes/Partes_1601815401590

4. Ваша проблема неясна. Вы можете поделиться или нет? Выберите приложение электронной почты, чтобы поделиться своим изображением. Что происходит?

5. Используйте конкретный тип MIME, а не подстановочный знак. Это ваше изображение, поэтому ваша задача указать тип MIME.