Výběr složky

Umožňuje FolderPicker vybrat složku ze systému souborů.

Následující předpoklady vyžadované pro FolderPicker:

Přidat oprávnění k AndroidManifest.xml:

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

Základní použití

FolderPicker lze do aplikace .NET MAUI přidat následujícím způsobem.

Požádat o oprávnění

Vývojáři musí ručně požádat o Oprávnění.StorageRead:

var readPermissionsRequest = await Permissions.RequestAsync<Permissions.StorageRead>();

Vybrat složku

async Task PickFolder(CancellationToken cancellationToken)
{
    var result = await FolderPicker.Default.PickAsync(cancellationToken);
    if (result.IsSuccessful)
    {
        await Toast.Make($"The folder was picked: Name - {result.Folder.Name}, Path - {result.Folder.Path}", ToastDuration.Long).Show(cancellationToken);
    }
    else
    {
        await Toast.Make($"The folder was not picked with error: {result.Exception.Message}").Show(cancellationToken);
    }
}

Složka

Záznam Folder představuje složku v systému souborů. Definuje následující vlastnosti:

  • Cesta obsahuje adresu složky.
  • Název obsahuje název složky.

VýsledekVybráníSložky

Ukládá informace z PickAsync.

Vlastnosti

Vlastnictví Typ Description
Složka Folder Získá objekt Folder, který představuje vybranou složku v systému souborů.
Exception Exception Pokud operace výběru selhala, je získána hodnota Exception.
JeÚspěšné bool Získá hodnotu určující, zda operace byla úspěšná.

Methods

Metoda Description
Zajistit úspěch Ověří, jestli byla operace výběru úspěšná.

Výstraha

EnsureSuccess Exception vyvolá chybu, pokud operace výběru nebyla úspěšná.

Methods

Metoda Description
PickAsync Žádá o oprávnění a umožňuje vybrat složku v systému souborů.

Registrace závislostí

V případě, že chcete injektovat službu, musíte ji nejprve zaregistrovat. Aktualizujte MauiProgram.cs následujícími změnami:

public static class MauiProgram
{
    public static MauiApp CreateMauiApp()
    {
        var builder = MauiApp.CreateBuilder();
        builder
            .UseMauiApp<App>()
            .UseMauiCommunityToolkit();

        // Register the FolderPicker as a singleton
        builder.Services.AddSingleton<IFolderPicker>(FolderPicker.Default);
        
        // Register the MainPage as transient to make sure it can resolve the IFolderPicker dependency.
        builder.Services.AddTransient<MainPage>();
        return builder.Build();
    }
}

Teď můžete službu vložit takto:

public partial class MainPage : ContentPage
{
    private readonly IFolderPicker folderPicker;

    public MainPage(IFolderPicker folderPicker)
    {
        InitializeComponent();
        this.folderPicker = folderPicker;
    }

    async Task PickFolder(CancellationToken cancellationToken)
    {
        var result = await folderPicker.PickAsync(cancellationToken);
        result.EnsureSuccess();
        await Toast.Make($"Folder picked: Name - {result.Folder.Name}, Path - {result.Folder.Path}", ToastDuration.Long).Show(cancellationToken);
    }
}

Další podrobnosti o tom, jak poskytnout CancellationToken , najdete v dokumentaci Microsoftu.

Příklady

Příklad FolderPicker v praxi najdete v ukázkové aplikaci z .NET MAUI Community Toolkit.

API

Zdrojový kód FolderPicker najdete v úložišti .NET MAUI Community Toolkit na GitHubu.