Я обнаружил, что для файлов PDF MediaScannerConnection обновляет только поле TITLE в MediaStore и оставляет пустым DISPLAY_NAME , которое является полемон должен содержать имя файла + расширение.
Таким образом, при совместном использовании PDF с помощью Intent / createChooser он не отображает правильное имя в целевом приложении, к которому предоставляется общий доступ, а вместо этого отображается в MediaStore. Идентификатор контента в качестве имени и без расширения вообще. Это создает проблему, когда, например, если к сообщению присылается сообщение электронной почты в виде вложения, кроме того факта, что числовое имя затрудняет идентификацию, если загружаемый файл не может быть открыт, пока его не переименуют, чтобы включить расширение.
Есть ли какие-то особые настройки, которые я пропустил, чтобы убедиться, что при совместном использовании PDF-файлов через Intent / createChooser задано правильное имя файла + расширение?
Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("application/pdf");
intent.putExtra(Intent.EXTRA_STREAM, uri);
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
Intent chooser = Intent.createChooser(intent, "Share to...");
activity.startActivity(chooser);