Menangani aktivasi file

API Penting

Aplikasi Anda dapat mendaftar untuk menjadi penangan default untuk jenis file tertentu. Baik Windows aplikasi desktop dan aplikasi Universal Windows Platform (UWP) dapat mendaftar untuk menjadi penangan file default. Jika pengguna memilih aplikasi Anda sebagai penangan default untuk jenis file tertentu, aplikasi Anda akan diaktifkan saat jenis file tersebut diluncurkan.

Kami menyarankan Anda hanya mendaftar untuk jenis file jika Anda berharap untuk menangani semua peluncuran file untuk jenis file tersebut. Jika aplikasi Anda hanya perlu menggunakan jenis file secara internal, maka Anda tidak perlu mendaftar untuk menjadi penangan default. Jika Anda memilih untuk mendaftar untuk jenis file, Anda harus menyediakan pengguna akhir dengan fungsi yang diharapkan ketika aplikasi Anda diaktifkan untuk jenis file tersebut. Misalnya, aplikasi penampil gambar dapat mendaftar untuk menampilkan file .jpg. Untuk info selengkapnya tentang asosiasi file, lihat Pedoman untuk jenis file dan URI.

Langkah-langkah ini menunjukkan cara mendaftar untuk jenis file kustom, .alsdk, dan cara mengaktifkan aplikasi Anda saat pengguna meluncurkan file .alsdk.

Nota Di aplikasi UWP, URI dan ekstensi file tertentu dicadangkan untuk digunakan oleh aplikasi bawaan dan sistem operasi. Upaya untuk mendaftarkan aplikasi Anda dengan URI atau ekstensi file yang dicadangkan akan diabaikan. Untuk informasi selengkapnya, lihat Nama skema file dan URI yang dicadangkan.

Langkah 1: Tentukan titik ekstensi dalam manifes paket

Aplikasi ini menerima acara aktivasi hanya untuk ekstensi file yang tercantum dalam manifes paket. Berikut adalah cara Anda menunjukkan bahwa aplikasi Anda menangani file dengan .alsdk ekstensi.

  1. Di Penjelajah Solusi, klik ganda package.appxmanifest untuk membuka desainer manifes. Pilih tab Deklarasi dan di drop-down Deklarasi yang Tersedia , pilih Asosiasi Tipe File lalu klik Tambahkan. Lihat Pengidentifikasi Terprogram untuk detail pengidentifikasi lebih lanjut yang digunakan oleh asosiasi file.

    Berikut adalah deskripsi singkat dari masing-masing bidang yang dapat Anda isi dalam desainer manifes:

Bidang Deskripsi
Nama Tampilan Tentukan nama tampilan untuk grup tipe file. Nama tampilan digunakan untuk mengidentifikasi jenis file di Set Default Programs di Panel Kontrol.
Logo Tentukan logo yang digunakan untuk mengidentifikasi jenis file di desktop dan di Set Default Programs di Panel Kontrol. Jika tidak ada Logo yang ditentukan, logo kecil aplikasi digunakan.
Info Tip Tentukan tip info untuk sekelompok jenis file. Teks tip alat ini muncul saat pengguna mengarahkan kursor ke ikon untuk file jenis ini.
Nama Pilih nama untuk grup tipe file yang berbagi nama tampilan, logo, tip info, dan mengedit bendera yang sama. Pilih nama grup yang dapat tetap sama di seluruh pembaruan aplikasi. Nota Nama harus dalam semua huruf kecil.
Tipe Konten Tentukan tipe konten MIME, seperti gambar/jpeg, untuk jenis file tertentu. Catatan Penting tentang tipe konten yang diizinkan: Berikut adalah daftar abjad jenis konten MIME yang tidak dapat Anda masukkan ke dalam manifes paket karena dicadangkan atau dilarang: aplikasi / unduhan paksa, aplikasi / octet-stream, aplikasi / tidak diketahui, aplikasi / x-msdownload.
Tipe berkas Tentukan jenis file yang akan didaftarkan, didahului oleh periode, misalnya, ".jpeg". Jenis file yang dicadangkan dan dilarang: Lihat Nama skema URI cadangan dan jenis file untuk daftar tipe file menurut abjad untuk aplikasi bawaan yang tidak dapat Anda daftarkan untuk aplikasi UWP Anda karena dicadangkan atau dilarang.
  1. Masukkan alsdk sebagai nama.
  2. Masukkan .alsdk sebagai Tipe File.
  3. Masukkan "images\Icon.png" sebagai Logo.
  4. Tekan Ctrl+S untuk menyimpan perubahan ke package.appxmanifest.

Langkah-langkah di atas menambahkan elemen Ekstensi seperti ini ke manifes paket. Kategori windows.fileTypeAssociation menunjukkan bahwa aplikasi menangani file dengan .alsdk ekstensi.

      <Extensions>
        <uap:Extension Category="windows.fileTypeAssociation">
          <uap:FileTypeAssociation Name="alsdk">
            <uap:Logo>images\icon.png</uap:Logo>
            <uap:SupportedFileTypes>
              <uap:FileType>.alsdk</uap:FileType>
            </uap:SupportedFileTypes>
          </uap:FileTypeAssociation>
        </uap:Extension>
      </Extensions>

Langkah 2: Tambahkan ikon yang tepat

Aplikasi yang menjadi default untuk jenis file memiliki ikon mereka ditampilkan di berbagai tempat di seluruh sistem. Misalnya, ikon ini ditampilkan dalam:

  • Windows Explorer Items View, menu konteks, dan Pita
  • Program default Panel Kontrol
  • Pemetik file
  • Hasil pencarian di layar Mulai

Sertakan ikon 44x44 dengan proyek Anda sehingga logo Anda dapat muncul di lokasi tersebut. Cocokkan tampilan logo ubin aplikasi dan gunakan warna latar belakang aplikasi Anda daripada membuat ikon transparan. Mintalah logo meluas ke tepi tanpa padding itu. Uji ikon Anda pada latar belakang putih. Lihat Panduan untuk aset petak dan ikon untuk detail selengkapnya tentang ikon.

Langkah 3: Tangani peristiwa yang diaktifkan

Penangan peristiwa OnFileActivated menerima semua peristiwa aktivasi file.

protected override void OnFileActivated(FileActivatedEventArgs args)
{
       // TODO: Handle file activation
       // The number of files received is args.Files.Count
       // The name of the first file is args.Files[0].Name
}
Protected Overrides Sub OnFileActivated(ByVal args As Windows.ApplicationModel.Activation.FileActivatedEventArgs)
      ' TODO: Handle file activation
      ' The number of files received is args.Files.Size
      ' The name of the first file is args.Files(0).Name
End Sub
void App::OnFileActivated(Windows::ApplicationModel::Activation::FileActivatedEventArgs const& args)
{
    // TODO: Handle file activation.
    auto numberOfFilesReceived{ args.Files().Size() };
    auto nameOfTheFirstFile{ args.Files().GetAt(0).Name() };
}
void App::OnFileActivated(Windows::ApplicationModel::Activation::FileActivatedEventArgs^ args)
{
    // TODO: Handle file activation
    // The number of files received is args->Files->Size
    // The name of the first file is args->Files->GetAt(0)->Name
}

Catatan

Saat diluncurkan melalui Kontrak File, pastikan tombol Kembali membawa pengguna kembali ke layar yang meluncurkan aplikasi dan bukan ke konten aplikasi sebelumnya.

Sebaiknya buat Bingkai XAML baru untuk setiap acara aktivasi yang membuka halaman baru. Dengan begitu, backstack navigasi untuk XAML Frame baru tidak berisi konten sebelumnya yang mungkin dimiliki aplikasi di jendela saat ditangguhkan. Jika Anda memutuskan untuk menggunakan satu Bingkai XAML untuk Peluncuran dan untuk Kontrak File, maka Anda harus menghapus halaman di jurnal navigasi Frame sebelum menavigasi ke halaman baru.

Saat aplikasi Diluncurkan melalui aktivasi File, Anda harus mempertimbangkan untuk menyertakan UI yang memungkinkan pengguna untuk kembali ke halaman atas aplikasi.

Keterangan

File yang Anda terima bisa berasal dari sumber yang tidak tepercaya. Kami menyarankan Anda memvalidasi konten file sebelum mengambil tindakan di atasnya.

Contoh lengkap

Konsep

Tugas

Panduan

Referensi