Bagikan melalui


Browser

Browse sample. Telusuri sampel

Artikel ini menjelaskan cara menggunakan antarmuka .NET Multi-platform App UI (.NET MAUI). IBrowser Antarmuka ini memungkinkan aplikasi untuk membuka tautan web di browser pilihan sistem atau browser eksternal.

Implementasi IBrowser default antarmuka tersedia melalui Browser.Default properti . IBrowser Antarmuka dan Browser kelas terkandung dalam Microsoft.Maui.ApplicationModel namespace layanan.

Mulai

Untuk mengakses fungsionalitas browser, diperlukan penyiapan khusus platform berikut.

Jika versi Target Android proyek Anda diatur ke Android 11 (R API 30) atau yang lebih tinggi, Anda harus memperbarui Android Manifest dengan kueri yang menggunakan persyaratan visibilitas paket Android.

Dalam file Platforms/Android/AndroidManifest.xml, tambahkan node berikut queries/intent di nodemanifest:

<queries>
  <intent>
    <action android:name="android.intent.action.VIEW" />
    <data android:scheme="http"/>
  </intent>
  <intent>
    <action android:name="android.intent.action.VIEW" />
    <data android:scheme="https"/>
  </intent>
</queries>

Buka browser

Browser dibuka dengan memanggil IBrowser.OpenAsync metode dengan Uri dan jenis BrowserLaunchMode. Contoh kode berikut menunjukkan pembukaan browser:

private async void BrowserOpen_Clicked(object sender, EventArgs e)
{
    try
    {
        Uri uri = new Uri("https://www.microsoft.com");
        await Browser.Default.OpenAsync(uri, BrowserLaunchMode.SystemPreferred);
    }
    catch (Exception ex)
    {
        // An unexpected error occurred. No browser may be installed on the device.
    }
}

Metode ini kembali setelah browser diluncurkan, bukan setelah ditutup oleh pengguna. Browser.OpenAsyncbool mengembalikan nilai untuk menunjukkan apakah browser berhasil diluncurkan.

Penyesuaian

Jika Anda menggunakan browser pilihan sistem, ada beberapa opsi penyesuaian yang tersedia untuk iOS dan Android. Opsi ini mencakup TitleMode (khusus Android) dan warna pilihan untuk Toolbar (iOS dan Android) dan Controls (hanya iOS) yang muncul.

Tentukan opsi ini menggunakan BrowserLaunchOptions saat Anda memanggil OpenAsync.

private async void BrowserCustomOpen_Clicked(object sender, EventArgs e)
{
    try
    {
        Uri uri = new Uri("https://www.microsoft.com");
        BrowserLaunchOptions options = new BrowserLaunchOptions()
        {
            LaunchMode = BrowserLaunchMode.SystemPreferred,
            TitleMode = BrowserTitleMode.Show,
            PreferredToolbarColor = Colors.Violet,
            PreferredControlColor = Colors.SandyBrown
        };

        await Browser.Default.OpenAsync(uri, options);
    }
    catch (Exception ex)
    {
        // An unexpected error occurred. No browser may be installed on the device.
    }
}

Perbedaan platform

Bagian ini menjelaskan perbedaan khusus platform dengan API browser.

BrowserLaunchOptions.LaunchMode menentukan bagaimana browser diluncurkan: