Menangani aktivasi file di aplikasi Windows
Aplikasi Anda dapat mendaftar untuk menjadi handler default untuk jenis file tertentu. Aplikasi desktop Windows dan aplikasi Universal Windows Platform (UWP) dapat mendaftar untuk menjadi penangan file default. Jika pengguna memilih aplikasi Anda sebagai handler default untuk jenis file tertentu, aplikasi Anda akan diaktifkan saat jenis file tersebut diluncurkan.
Kami menyarankan agar Anda hanya mendaftar untuk jenis file jika Anda ingin 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 handler default. Jika Anda memilih untuk mendaftar untuk jenis file, Anda harus memberi pengguna akhir fungsionalitas yang diharapkan saat aplikasi Anda diaktifkan untuk jenis file tersebut. Misalnya, aplikasi penampil gambar dapat mendaftar untuk menampilkan file .jpg. Untuk informasi selengkapnya tentang asosiasi file, lihat Panduan 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 Windows, URI dan ekstensi file tertentu dicadangkan untuk digunakan oleh aplikasi bawaan dan sistem operasi. Upaya untuk mendaftarkan aplikasi Anda dengan URI yang dipesan atau ekstensi file akan diabaikan. Lihat nama skema URI yang dicadangkan dan jenis file untuk daftar alfabetis skema URI yang tidak dapat Anda daftarkan untuk aplikasi Anda karena dicadangkan atau dilarang.
API penting
API berikut digunakan dalam topik ini:
- Windows.ApplicationModel.Activation.FileActivatedEventArgs
- Windows.UI.Xaml.Application.OnFileActivated
- AppInstance.GetActivatedEventArgs
Langkah 1: Tentukan titik ekstensi dalam manifes paket
Aplikasi menerima peristiwa aktivasi hanya untuk ekstensi file yang tercantum dalam manifes paket. Berikut adalah cara Anda menunjukkan bahwa aplikasi Anda menangani file dengan ekstensi .alsdk
.
Di Solution Explorer, klik dua kali package.appxmanifest untuk membuka pembuat manifes. Pilih tab Deklarasi dan di menu turun bawah Deklarasi Tersedia, pilih Asosiasi Tipe File lalu klik Tambah. Lihat Pengidentifikasi Terprogram untuk detail selengkapnya tentang pengidentifikasi yang digunakan oleh asosiasi file.
Berikut adalah deskripsi singkat tentang setiap bidang yang dapat Anda isi dalam perancang manifes:
Ladang | Deskripsi |
---|---|
Nama Tampilan | Tentukan nama tampilan untuk sekelompok tipe file. Nama tampilan digunakan untuk mengidentifikasi jenis file di Atur Program Default pada Panel Kontrol. |
Logo | Tentukan logo yang digunakan untuk mengidentifikasi jenis file di desktop dan di Atur Program Default pada Panel Kontrol . Jika tidak ada Logo yang ditentukan, logo kecil aplikasi akan digunakan. |
Info Tips | Tentukan petunjuk info untuk sekelompok jenis file. Teks tooltip ini muncul ketika pengguna menggerakkan kursor pada ikon untuk file jenis ini. |
Nama | Pilih nama untuk sekelompok jenis file yang memiliki nama tampilan, logo, tips info, dan bendera edit yang sama. Pilih nama grup yang dapat tetap sama di seluruh pembaruan aplikasi. Catatan Nama harus dalam semua huruf kecil. |
Tipe Isi | Tentukan jenis konten MIME, seperti gambar /jpeg, untuk jenis file tertentu. Catatan Penting tentang jenis konten yang diizinkan: Berikut adalah daftar alfabet 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. |
Jenis file | Tentukan jenis file yang ingin didaftarkan, didahului oleh titik, misalnya '.jpeg'. Jenis file yang dicadangkan dan dilarang: Lihat nama skema URI dan jenis file yang dicadangkan untuk daftar alfabetis jenis file pada aplikasi bawaan yang tidak dapat Anda daftarkan untuk aplikasi UWP Anda karena jenis file tersebut dicadangkan atau dilarang. |
- Masukkan
alsdk
sebagai Nama. - Masukkan
.alsdk
sebagai Tipe File . - Masukkan "gambar\Icon.png" sebagai Logo.
- 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 ekstensi .alsdk
.
<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 yang ditampilkan di berbagai tempat di seluruh sistem. Misalnya, ikon ini ditampilkan di:
- Tampilan Item di Windows Explorer, menu konteks, dan Ribbon
- Panel Kontrol program bawaan
- Pemilih file
- Hasil pencarian di layar Mulai
Sertakan ikon 44x44 dengan proyek Anda sehingga logo Anda dapat muncul di lokasi tersebut. Cocokkan tampilan logo petak peta aplikasi dan gunakan warna latar belakang aplikasi Anda daripada membuat ikon transparan. Buat logo meluas ke tepi tanpa menambahkan jarak. Uji ikon Anda di latar belakang putih. Lihat Panduan tentang aset ubin dan ikon untuk detail selengkapnya tentang ikon.
Langkah 3: Menangani peristiwa yang diaktifkan
Penanganan aktivitas 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
}
Nota
Saat diluncurkan melalui Kontrak File, pastikan bahwa tombol Kembali membawa pengguna kembali ke layar yang meluncurkan aplikasi dan bukan ke konten aplikasi sebelumnya.
Nota
Dalam aplikasi WinUI, di App.OnLaunched (atau pada kenyataannya kapan saja) Anda dapat memanggil (AppInstance.GetActivatedEventArgs) untuk mengambil argumen peristiwa yang diaktifkan, dan memeriksanya untuk menentukan bagaimana aplikasi diaktifkan. Lihat migrasi fungsionalitas siklus hidup aplikasi untuk informasi selengkapnya tentang perbedaan siklus hidup antara aplikasi UWP dan WinUI.
Kami menyarankan agar Anda membuat Bingkai XAML baru untuk setiap peristiwa aktivasi yang membuka halaman baru. Dengan begitu, tumpukan belakang navigasi untuk Bingkai XAML baru tidak berisi konten sebelumnya yang mungkin dimiliki aplikasi di jendela saat ini saat ditangguhkan. Jika Anda memutuskan untuk menggunakan satu XAML Frame untuk Peluncuran dan untuk Kontrak File, maka Anda harus menghapus halaman-halaman dalam jurnal navigasi Frame sebelum menavigasi ke halaman baru.
Saat aplikasi Anda diluncurkan melalui aktivasi File, Anda harus mempertimbangkan untuk menyertakan UI yang memungkinkan pengguna untuk kembali ke halaman atas aplikasi.
Komentar
File yang Anda terima bisa berasal dari sumber yang tidak tepercaya. Kami menyarankan agar Anda memvalidasi konten file sebelum mengambil tindakan di atasnya.
Konten terkait
Windows developer