Неверное имя при совместном использовании файлов PDF через Intent / createChooser - PullRequest
0 голосов
/ 15 октября 2019

Я обнаружил, что для файлов 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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...