#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_16018154015904. Ваша проблема неясна. Вы можете поделиться или нет? Выберите приложение электронной почты, чтобы поделиться своим изображением. Что происходит?
5. Используйте конкретный тип MIME, а не подстановочный знак. Это ваше изображение, поэтому ваша задача указать тип MIME.