#c# #android #xamarin #xamarin.android #path
#c# #Android #xamarin #xamarin.android #путь
Вопрос:
Я использую кнопку, чтобы найти файл в телефоне:
private void button_save_Click(object sender, System.EventArgs e)
{
Intent chooseFile = new Intent(Intent.ActionGetContent);
chooseFile.SetType("*/*");
chooseFile = Intent.CreateChooser(chooseFile, "Choose a file");
StartActivityForResult(chooseFile, 1000);
}
И затем я пытаюсь использовать указанный путь для открытия выбранного файла:
protected override void OnActivityResult(int requestCode, [GeneratedEnum] Result resultCode, Intent data)
{
base.OnActivityResult(requestCode, resultCode, data);
if (requestCode is 1000 amp;amp; resultCode is Result.Ok)
{
var uri = data.Data;
string path = uri.Path;
Java.IO.File file = new Java.IO.File(path);
}
}
но формат uri.Path
несовместим с Java.IO.File
, и файл не открывается. Как я могу получить совместимый полный путь к файлу?
Комментарии:
1. Пожалуйста, укажите значение uri. Путь и uri.String. И поясните, почему, по вашему мнению, он несовместим.
2.
How can I get a compatible full path to a file?
Вы не будете делать таких неприятных вещей, поскольку вы должны использовать этот uri для обработки файла. Даже если бы вы смогли преобразовать uri в путь, у вас не было бы доступа под Android 10. Ну, в основном нет.3. @blackapps uri. Путь «/document/primary:Telegram/Telegram Images/00.jpg » и uri.String не определен
4. Может быть неопределенным, поскольку я не знаю xamarin. Я хотел узнать полный uri. Полная схема содержимого. Появится другой участник, который сообщит вам. И вы нас.
5. «uri = {content://com.android.externalstorage.documents/document/primary:Telegram/Telegram Images/00.jpg}»