Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Important
Metadata perangkat tidak digunakan lagi dan akan dihapus dalam rilis Windows mendatang. Untuk informasi tentang penggantian fungsionalitas ini, lihat Metadata Kontainer Paket Driver.
Aplikasi perangkat UWP dapat menanggapi peristiwa komunikasi dua arah (Bidi) yang dikirim dari driver cetak v4. Artikel ini memperkenalkan pemberitahuan cetak, dan memperlihatkan bagaimana versi C# dari contoh pengaturan Cetak dan pemberitahuan cetak menggunakan tugas latar belakang untuk merespons pemberitahuan cetak. Tugas latar belakang menunjukkan cara menyimpan detail pemberitahuan di penyimpanan data aplikasi lokal, mengirim toast, dan memperbarui tile dan badge. Untuk mempelajari selengkapnya tentang aplikasi perangkat UWP secara umum, lihat Mengenal aplikasi perangkat UWP.
Sampel pengaturan Cetak dan pemberitahuan cetak versi C# menunjukkan bagian latar belakang aplikasi (tugas latar belakang) dalam proyek BackgroundTask . Kode untuk tugas latar belakang ada di file PrintBackgroundTask.cs . Aplikasi foreground, aplikasi layar penuh yang dapat diluncurkan dari Start, berada dalam proyek DeviceAppForPrinters. File InkLevel.xaml.cs menunjukkan salah satu cara agar detail pemberitahuan dapat diakses dari aplikasi latar depan. Untuk bekerja dengan pemberitahuan cetak, sampel menggunakan pustaka ekstensi printer dalam proyek PrinterExtensionLibrary . Pustaka ekstensi printer menyediakan cara mudah untuk mengakses antarmuka ekstensi printer dari pengandar cetak v4. Untuk informasi selengkapnya, lihat Gambaran umum pustaka ekstensi Printer.
Contoh kode yang diperlihatkan dalam artikel ini didasarkan pada versi C# dari sampel Pengaturan cetak dan pemberitahuan cetak . Sampel ini juga tersedia di JavaScript dan C++. Karena C++ dapat mengakses COM secara langsung, versi C++ sampel tidak menyertakan proyek pustaka kode. Unduh sampel untuk melihat versi terbaru kode.
Mencetak pemberitahuan
Pemberitahuan cetak mengizinkan aplikasi UWP di perangkat Anda memberitahu pengguna tentang peristiwa printer penting saat mencetak, seperti kertas macet, pintu printer terbuka, tingkat tinta rendah, atau printer kehabisan kertas. Ketika printer memicu pemberitahuan, pengelola acara sistem menjalankan tugas latar belakang dari aplikasi Anda. Dari sana, tugas latar belakang dapat menyimpan detail pemberitahuan, mengirim toast, memperbarui ubin, memperbarui lencana, atau tidak melakukan apa pun. Dengan menyimpan detail pemberitahuan, aplikasi Anda dapat memberikan pengalaman yang membantu pengguna memahami dan memperbaiki masalah printer mereka.
Produsen printer harus mengimplementasikan Bidi dan file XML DriverEvent di driver cetak v4 mereka untuk menggunakan pemberitahuan cetak dengan aplikasi perangkat UWP mereka. Untuk informasi selengkapnya, lihat Komunikasi Dua Arah.
Ketika DriverEvent terjadi, dan tugas latar belakang aplikasi perangkat UWP dimulai, aplikasi memiliki beberapa opsi tentang cara melanjutkannya. Untuk informasi selengkapnya tentang alur yang mengarah ke peluncuran tugas, lihat Dukungan Driver untuk UI yang Disesuaikan.
Tugas latar belakang memiliki opsi untuk:
- Tidak perlu melakukan apa-apa
- Menyimpan detail pemberitahuan di penyimpanan data aplikasi lokal
- Memperbarui pemberitahuan petak peta aplikasi UWP
- Memperbarui lencana pemberitahuan aplikasi UWP
- Mengirim pemberitahuan toast untuk aplikasi UWP
Pemberitahuan petak atau pemberitahuan toast memungkinkan pengguna meluncurkan aplikasi latar depan Anda dengan mudah. Ketika aplikasi latar depan diluncurkan, aplikasi dapat menggunakan OnLaunched metode dalam App.xaml.cs untuk memeriksa apakah aplikasi tersebut diluncurkan oleh petak peta atau roti panggang. Jika ya, aplikasi latar depan dapat mengakses detail pemberitahuan cetak apa pun di penyimpanan data aplikasi lokal.
Prerequisites
Sebelum Anda memulai:
Pastikan pencetak Anda terinstal menggunakan pengandar cetak v4. Untuk informasi selengkapnya, lihat Mengembangkan driver cetak v4.
Siapkan PC pengembangan Anda. Lihat Memulai untuk informasi tentang mengunduh alat dan membuat akun pengembang.
Kaitkan aplikasi Anda dengan toko. Untuk informasi selengkapnya, lihat Membuat aplikasi perangkat UWP.
Buat metadata perangkat untuk printer Anda yang mengaitkannya dengan aplikasi Anda. Untuk informasi selengkapnya, lihat Membuat metadata perangkat.
Buat UI untuk halaman utama aplikasi Anda. Semua aplikasi perangkat UWP dapat diluncurkan dari Mulai, tempat aplikasi ditampilkan layar penuh. Gunakan pengalaman Mulai untuk menyoroti produk atau layanan Anda dengan cara yang cocok dengan merek dan fitur tertentu dari perangkat Anda. Tidak ada batasan khusus pada jenis kontrol UI yang dapat digunakannya. Untuk mulai menggunakan desain pengalaman layar penuh, lihat prinsip desain Microsoft Store.
Jika Anda menulis aplikasi dengan C# atau JavaScript, tambahkan proyek PrinterExtensionLibrary dan DeviceAppForPrintersLibrary ke solusi aplikasi perangkat UWP Anda. Anda dapat menemukan masing-masing proyek ini di pengaturan Cetak dan sampel pemberitahuan cetak .
Karena C++ dapat mengakses COM secara langsung, aplikasi C++ tidak memerlukan pustaka terpisah untuk bekerja dengan konteks perangkat printer berbasis COM.
Langkah 1: Daftarkan tugas latar belakang
Agar Windows dapat mengenali bahwa aplikasi dapat menangani pemberitahuan cetak, aplikasi harus mendaftarkan ekstensi tugas latar belakang untuk pemberitahuan cetak. Ekstensi ini dideklarasikan dalam elemen Extension, dengan atribut Category diatur ke windows.backgroundTasks dan atribut EntryPoint diatur ke BackgroundTask.PrintBackgroundTask. Ekstensi ini juga menyertakan Task elemen untuk menunjukkan bahwa ekstensi mendukung systemEvent jenis tugas.
Anda dapat menambahkan ekstensi tugas latar belakang cetak pada tab Deklarasi dari Perancang Manifes di Microsoft Visual Studio. Anda juga dapat mengedit XML manifes paket aplikasi secara manual, menggunakan Editor XML (Teks). Klik kanan file Package.appxmanifest di Penjelajah Solusi untuk opsi pengeditan.
Contoh ini menunjukkan ekstensi tugas latar belakang dalam Extension elemen , seperti yang muncul dalam file manifes paket aplikasi, Package.appxmanifest.
<?xml version="1.0" encoding="utf-8"?>
<Package xmlns="http://schemas.microsoft.com/appx/2010/manifest">
<Identity Name="Microsoft.SDKSamples.DeviceAppForPrinters.CS" Publisher="CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US" Version="1.0.0.0" />
<Properties>
<DisplayName>Device App For Printers C# sample</DisplayName>
<PublisherDisplayName>Microsoft Corporation</PublisherDisplayName>
<Logo>Assets\storeLogo-sdk.png</Logo>
</Properties>
<Prerequisites>
<OSMinVersion>6.3.0</OSMinVersion>
<OSMaxVersionTested>6.3.0</OSMaxVersionTested>
</Prerequisites>
<Resources>
<Resource Language="x-generate" />
</Resources>
<Applications>
<Application Id="DeviceAppForPrinters" Executable="$targetnametoken$.exe" EntryPoint="DeviceAppForPrinters.App">
<VisualElements DisplayName="Device App For Printers C# sample" Logo="Assets\squareTile-sdk.png"
SmallLogo="Assets\smallTile-sdk.png" Description="DeviceAppForPrinters C# sample"
ForegroundText="light" BackgroundColor="#00b2f0" ToastCapable="true">
<DefaultTile ShowName="allLogos" ShortName="App4PrinterCS" WideLogo="Assets\tile-sdk.png" />
<SplashScreen Image="Assets\splash-sdk.png" BackgroundColor="#00b2f0" />
</VisualElements>
<Extensions>
<Extension Category="windows.backgroundTasks" EntryPoint="BackgroundTask.PrintBackgroundTask">
<BackgroundTasks>
<Task Type="systemEvent" />
</BackgroundTasks>
</Extension>
<Extension Category="windows.printTaskSettings" Executable="$targetnametoken$.exe" EntryPoint="DeviceAppForPrinters.App" />
</Extensions>
</Application>
</Applications>
</Package>
Langkah 2: Mengonfigurasi metadata perangkat
Saat Anda menggunakan Wizard Penulisan Metadata Perangkat untuk mengaitkan aplikasi Anda dengan perangkat Anda, pastikan untuk menyelesaikan kotak Penangan Pemberitahuan di halaman Tentukan informasi aplikasi perangkat UWP. Ini membantu memastikan bahwa tugas latar belakang aplikasi Anda dipanggil pada saat pemberitahuan pencetakan.
Untuk petunjuk langkah demi langkah tentang cara mengedit metadata perangkat Anda, lihat bagian Pengujian .
Langkah 3: Membangun UI
Sebelum membangun aplikasi, Anda harus bekerja sama dengan perancang dan tim pemasaran Anda untuk merancang pengalaman pengguna. Pengalaman pengguna harus memproyeksikan aspek branding perusahaan Anda dan membantu Anda membangun koneksi dengan pengguna Anda.
Pedoman desain
Penting untuk meninjau panduan aplikasi Microsoft Store sebelum merancang pengalaman petak peta dan lencana Anda. Panduan ini membantu memastikan bahwa aplikasi Anda memberikan pengalaman intuitif yang konsisten dengan aplikasi UWP lainnya.
Untuk halaman utama aplikasi Anda, perlu diingat bahwa Windows 8.1 dapat menampilkan beberapa aplikasi dalam berbagai ukuran pada satu monitor. Lihat panduan berikut untuk mempelajari selengkapnya tentang bagaimana aplikasi Anda dapat me-reflow dengan anggun antara ukuran layar, ukuran jendela, dan orientasi.
- Panduan untuk ukuran jendela dan penskalaan ke layar
- Panduan untuk mengubah ukuran jendela ke tata letak tinggi dan sempit
Praktik terbaik
Jangan sertakan kata tindakan pada pemberitahuan. Pada pesan pemberitahuan, jangan gunakan teks yang memberi tahu pengguna untuk mendorong, menekan, atau memilih pemberitahuan. Pengguna sudah memahami bahwa mereka dapat menekan toast untuk menemukan informasi selengkapnya. Misalnya, cukup tulis "Printer Anda hampir kehabisan tinta" alih-alih "Printer Anda hampir kehabisan tinta. Tekan untuk memecahkan masalah".
Jaga agar interaksi tetap sederhana. Semua yang ditampilkan pada pengalaman pemberitahuan harus terkait dengan pemberitahuan. Misalnya halaman pemberitahuan tentang kemacetan kertas hanya boleh berisi tautan dan informasi tentang menyelesaikan masalah tersebut. Ini seharusnya tidak berisi tautan ke pengalaman yang tidak terkait seperti membeli tinta atau informasi dukungan lainnya.
Gunakan multimedia. Gunakan foto, video, atau ilustrasi perangkat yang sebenarnya untuk membantu pengguna menyelesaikan masalah dengan cepat dengan perangkat mereka.
Pertahankan pengguna dalam konteks aplikasi Anda. Saat memberikan informasi tentang masalah, jangan tautkan ke materi dukungan online atau lainnya. Pastikan pengguna tetap berada dalam konteks aplikasi.
Langkah 4: Membuat tugas latar belakang
Jika aplikasi Anda mendaftarkan tugas latar belakang untuk pemberitahuan cetak, aplikasi harus menyediakan handler untuk aktivasi tugas latar belakang. Dalam sampel Pengaturan cetak dan pemberitahuan cetak , PrintBackgroundTask kelas menangani pemberitahuan cetak.
Jika status printer Anda tidak memerlukan intervensi pengguna segera, perbarui tile daripada menampilkan pemberitahuan singkat. Misalnya, untuk kondisi tinta rendah, pembaruan ubin sudah cukup. Tetapi jika printer kehabisan tinta, aplikasi dapat menampilkan toast notification.
Menyimpan detail pemberitahuan
Tugas latar belakang tidak dapat meluncurkan aplikasi latar depan secara langsung; hanya pengguna yang bisa: dari tile, notifikasi toast, atau Layar Mulai. Jadi, untuk memastikan bahwa aplikasi latar depan dapat mengakses detail pemberitahuan cetak, tugas latar belakang menyimpannya ke penyimpanan lokal. Untuk informasi selengkapnya tentang menggunakan penyimpanan lokal, lihat Mulai Cepat: data aplikasi lokal.
Ketika pemberitahuan cetak dipicu, Windows menjalankan tugas latar belakang dengan memanggil metodenya Run . Data pemberitahuan diteruskan ke tugas latar belakang melalui parameter metode fungsi yang harus dikonversi ke tipe Windows.Devices.Printers.Extensions.PrintNotificationEventDetails. Properti PrinterName dan EventData dari objek tersebut masing-masing memuat nama printer dan pesan Bidi.
Contoh ini menunjukkan metode Run milik tugas latar belakang dalam file PrintBackgroundTask.cs, di mana detail notifikasi cetak disimpan ke pengaturan aplikasi sebelum metode toast, ubin, dan lencana dipanggil.
public void Run(Windows.ApplicationModel.Background.IBackgroundTaskInstance taskInstance)
{
// Save notification details to local storage
PrintNotificationEventDetails details = (PrintNotificationEventDetails)taskInstance.TriggerDetails;
settings.Values[keyPrinterName] = details.PrinterName;
settings.Values[keyAsyncUIXML] = details.EventData;
// Demonstrate possible actions
ShowToast(details.PrinterName, details.EventData);
UpdateTile(details.PrinterName, details.EventData);
UpdateBadge();
}
Memperbarui ubin
Ketika detail pemberitahuan cetak dikirim ke metode UpdateTile, tugas latar belakang sampel menunjukkan cara menampilkannya pada ubin. Untuk informasi selengkapnya tentang ubin, lihat Gambaran umum pemberitahuan ubin dan ubin.
Contoh ini menunjukkan metode UpdateTile milik tugas latar belakang dalam file PrintBackgroundTask.cs.
void UpdateTile(string printerName, string bidiMessage)
{
TileUpdater tileUpdater = TileUpdateManager.CreateTileUpdaterForApplication();
tileUpdater.Clear();
XmlDocument tileXml = TileUpdateManager.GetTemplateContent(TileTemplateType.TileWide310x150Text09);
XmlNodeList tileTextAttributes = tileXml.GetElementsByTagName("text");
tileTextAttributes[0].InnerText = printerName;
tileTextAttributes[1].InnerText = bidiMessage;
TileNotification tileNotification = new TileNotification(tileXml);
tileNotification.Tag = "tag01";
tileUpdater.Update(tileNotification);
}
Memperbarui lencana
Metode ini UpdateBadge menunjukkan cara menggunakan kelas BadgeNotification untuk memperbarui lencana. Untuk informasi selengkapnya tentang ubin, lihat Ikhtisar lencana.
Contoh ini menunjukkan metode pada tugas latar belakang UpdateBadge, dalam berkas PrintBackgroundTask.cs.
void UpdateBadge()
{
XmlDocument badgeXml = BadgeUpdateManager.GetTemplateContent(BadgeTemplateType.BadgeGlyph);
XmlElement badgeElement = (XmlElement)badgeXml.SelectSingleNode("/badge");
badgeElement.SetAttribute("value", "error");
var badgeNotification = new BadgeNotification(badgeXml);
BadgeUpdateManager.CreateBadgeUpdaterForApplication().Update(badgeNotification);
}
Menaikkan roti panggang
Pemberitahuan toast adalah pesan sementara kepada pengguna yang berisi informasi relevan dan sensitif waktu dan menyediakan akses cepat ke konten terkait di aplikasi. Pemberitahuan toast harus dilihat kepada pengguna sebagai undangan untuk kembali ke aplikasi Anda untuk menindaklanjuti sesuatu yang menarik. Untuk informasi selengkapnya, lihat Ringkasan pemberitahuan Toast.
Untuk mengizinkan pemberitahuan toast, aplikasi perlu mendaftarkan bahwa aplikasi mendukung toast dalam manifes paket aplikasi. Dalam elemen VisualElements, atur atribut ToastCapable menjadi true.
Important
Kami tidak menyarankan untuk selalu menampilkan toast, terutama untuk peristiwa yang tidak memerlukan tindakan. Ini bisa menjadi mengganggu bagi pengguna dan menyebabkan mereka menonaktifkan semua roti panggang dari aplikasi. Untuk peristiwa yang tidak memerlukan perhatian langsung pengguna, sebaiknya perbarui hanya ubin dan lencana, dan tidak menampilkan toast.
Contoh ini menunjukkan ToastCapable atribut dalam VisualElements elemen , seperti yang muncul dalam file manifes paket aplikasi, Package.appxmanifest.
<VisualElements DisplayName="Device App For Printers C# sample" Logo="Assets\squareTile-sdk.png"
SmallLogo="Assets\smallTile-sdk.png" Description="DeviceAppForPrinters C# sample"
ForegroundText="light" BackgroundColor="#00b2f0" ToastCapable="true">
<DefaultTile ShowName="allLogos" ShortName="App4PrinterCS" WideLogo="Assets\tile-sdk.png" />
<SplashScreen Image="Assets\splash-sdk.png" BackgroundColor="#00b2f0" />
</VisualElements>
Contoh ini berasal dari ShowToast metode file PrintBackgroundTask.cs . Ini menunjukkan cara mengangkat toast berdasarkan dua string, bernama title dan body.
void ShowToast(string title, string body)
{
//
// Get Toast template
//
XmlDocument toastXml = ToastNotificationManager.GetTemplateContent(ToastTemplateType.ToastText02);
//
// Pass to app as eventArgs.detail.arguments
//
((XmlElement)toastXml.SelectSingleNode("/toast")).SetAttribute("launch", title);
//
// The ToastText02 template has 2 text nodes (a header and a body)
// Assign title to the first one, and body to the second one
//
XmlNodeList textList = toastXml.GetElementsByTagName("text");
textList[0].AppendChild(toastXml.CreateTextNode(title));
textList[1].AppendChild(toastXml.CreateTextNode(body));
//
// Show the Toast
//
ToastNotification toast = new ToastNotification(toastXml);
ToastNotificationManager.CreateToastNotifier().Show(toast);
}
Langkah 5: Menangani aktivasi
Setelah pemberitahuan cetak memicu tugas latar belakang, aplikasi dapat diluncurkan dengan mengetuk pemberitahuan toast atau petak peta. Jika aplikasi Anda diaktifkan dari keduanya, parameter diteruskan ke aplikasi melalui LaunchActivatedEventArgs.arguments properti . Untuk informasi selengkapnya tentang aktivasi dan siklus hidup aplikasi Microsoft Store, lihat Siklus hidup aplikasi.
Untuk menentukan apakah aplikasi Anda diaktifkan dalam salah satu kasus ini, tangani OnLaunched event, dan periksa parameter event yang diteruskan ke pengendali event. Jika argumen peristiwa null, aplikasi diaktifkan oleh pengguna dari Mulai. Jika argumen peristiwa tidak null, aplikasi diluncurkan dari roti panggang atau petak peta.
Contoh ini berasal dari OnLaunched metode file App.xaml.cs . Ini menunjukkan cara menangani aktivasi dari roti panggang atau petak peta.
protected override async void OnLaunched(LaunchActivatedEventArgs args)
{
Frame rootFrame = Window.Current.Content as Frame;
// Do not repeat app initialization when the Window already has content,
// just ensure that the window is active
if (rootFrame == null)
{
// Create a Frame to act as the navigation context and navigate to the first page
rootFrame = new Frame();
// Associate the frame with a SuspensionManager key
SuspensionManager.RegisterFrame(rootFrame, "AppFrame");
if (args.PreviousExecutionState == ApplicationExecutionState.Terminated)
{
// Restore the saved session state only when appropriate
try
{
await SuspensionManager.RestoreAsync();
}
catch (SuspensionManagerException)
{
//Something went wrong restoring state.
//Assume there is no state and continue
}
}
// Place the frame in the current Window
Window.Current.Content = rootFrame;
}
if (rootFrame.Content == null || !String.IsNullOrEmpty(args.Arguments))
{
// When the navigation stack isn't restored or there are launch arguments
// indicating an alternate launch (e.g.: via toast or secondary tile),
// navigate to the appropriate page, configuring the new page by passing required
// information as a navigation parameter
if (!rootFrame.Navigate(typeof(MainPage), args.Arguments))
{
throw new Exception("Failed to create initial page");
}
}
// Ensure the current window is active
Window.Current.Activate();
}
Langkah 6: Detail pemberitahuan akses
Karena tugas latar belakang tidak dapat langsung meluncurkan aplikasi latar depan, detail pemberitahuan cetak perlu disimpan ke pengaturan aplikasi sehingga aplikasi latar depan dapat mengaksesnya. Untuk informasi selengkapnya tentang menggunakan penyimpanan lokal, lihat Mulai Cepat: data aplikasi lokal.
Contoh ini menunjukkan bagaimana nama printer dan pesan Bidi diambil dari pengaturan aplikasi dalam contoh Pengaturan cetak dan pemberitahuan cetak. Kode berasal dari DisplayBackgroundTaskTriggerDetails metode file InkLevel.xaml.cs . Nilai indeks kunci, keyPrinterName, dan keyAsyncUIXML, adalah konstanta string yang sama yang digunakan dalam tugas latar belakang, PrintBackgroundTask.cs.
void DisplayBackgroundTaskTriggerDetails()
{
String outputText = "\r\n";
try
{
string printerName = settings.Values[keyPrinterName].ToString();
outputText += ("Printer name from background task triggerDetails: " + printerName);
}
catch (Exception)
{
outputText += ("No printer name retrieved from background task triggerDetails ");
}
outputText += "\r\n";
try
{
string asyncUIXML = settings.Values[keyAsyncUIXML].ToString();
outputText += ("AsyncUI xml from background task triggerDetails: " + asyncUIXML);
}
catch (Exception)
{
outputText += ("No asyncUI xml retrieved from background task triggerDetails ");
}
ToastOutput.Text += outputText;
}
Testing
Sebelum dapat menguji aplikasi perangkat UWP, aplikasi tersebut harus ditautkan ke printer Anda menggunakan metadata perangkat.
Anda memerlukan salinan paket metadata perangkat untuk printer Anda, untuk menambahkan informasi aplikasi perangkat ke dalamnya. Jika Anda tidak memiliki metadata perangkat, Anda dapat membuatnya menggunakan Wizard Penulisan Metadata Perangkat seperti yang dijelaskan dalam artikel Membuat metadata perangkat untuk aplikasi perangkat UWP Anda.
Untuk menggunakan Wizard Penulisan Metadata Perangkat, Anda harus menginstal Microsoft Visual Studio Professional, Microsoft Visual Studio Ultimate, atau SDK mandiri untuk Windows 8.1, sebelum menyelesaikan langkah-langkah dalam artikel ini. Menginstal Microsoft Visual Studio Express untuk Windows menginstal versi SDK yang tidak menyertakan wizard.
Langkah-langkah berikut membuat aplikasi Anda dan menginstal metadata perangkat.
Aktifkan tanda tangan uji.
Mulai Wizard Penulisan Metadata Perangkat dari %ProgramFiles(x86)%\Windows Kits\8.1\bin\x86 dengan klik dua kali pada DeviceMetadataWizard.exe.
Dari menu Alat , pilih Aktifkan Penandatanganan Pengujian.
Mulai ulang komputer
Bangun solusi dengan membuka file solusi (.sln). Tekan F7 atau buka Build-Solution> dari menu atas setelah sampel dimuat.
Putuskan sambungan dan copot pemasangan printer. Langkah ini diperlukan agar Windows akan membaca metadata perangkat yang diperbarui saat perangkat terdeteksi berikutnya.
Edit dan simpan metadata perangkat. Untuk menautkan aplikasi perangkat ke perangkat, Anda harus mengaitkan aplikasi perangkat dengan perangkat Anda.
Jika metadata perangkat Anda belum dibuat, lihat Membuat metadata perangkat untuk aplikasi perangkat UWP Anda.
Jika Wizard Penulisan Metadata Perangkat belum terbuka, mulai dari %ProgramFiles(x86)%\Windows Kits\8.1\bin\x86, dengan mengklik dua kali DeviceMetadataWizard.exe.
Pilih Edit Metadata Perangkat. Opsi ini memungkinkan Anda mengedit paket metadata perangkat yang ada.
Dalam kotak dialog Buka , temukan paket metadata perangkat yang terkait dengan aplikasi perangkat UWP Anda. (File ini memiliki ekstensi devicemetadata-ms.)
Pada halaman Tentukan informasi aplikasi perangkat UWP , masukkan informasi aplikasi Microsoft Store di kotak aplikasi perangkat UWP . Pilih Impor file manifes aplikasi UWP untuk secara otomatis memasukkan Nama paket, Nama penerbit, dan ID aplikasi UWP.
Jika aplikasi Anda terdaftar untuk menerima pemberitahuan printer, isi kotak Penanganan pemberitahuan. Di ID Peristiwa, masukkan nama penanganan aktivitas cetak. Di Aset Peristiwa, masukkan nama file tempat kode tersebut berada.
Setelah selesai, pilih Berikutnya hingga Anda masuk ke halaman Selesai .
Pada halaman Tinjau paket metadata perangkat , pastikan semua pengaturan sudah benar dan pilih kotak centang Salin paket metadata perangkat ke penyimpanan metadata di komputer lokal . Kemudian pilih Simpan.
Sambungkan kembali pencetak Anda agar Windows membaca metadata perangkat yang diperbarui ketika perangkat tersambung.
Troubleshooting
Masalah: Tidak ada pemberitahuan toast default yang muncul
Jika tidak ada pemberitahuan cetak default yang muncul seperti yang diharapkan...
Kemungkinan penyebab: Mode penandatanganan pengujian belum diaktifkan. Lihat di bagian Debugging di artikel ini untuk informasi cara mengaktifkannya.
Kemungkinan penyebabnya: Pemberitahuan toast dinonaktifkan oleh kebijakan domain. Tinggalkan domain dan coba lagi.
Kemungkinan penyebabnya: Pencetak belum mengimplementasikan DriverEvents. Periksa apakah driver v4 Anda mendukung Bidi dan DriverEvents. Untuk informasi selengkapnya, lihat Dukungan Driver untuk UI yang Disesuaikan.
Kemungkinan penyebab: Tidak ada tugas cetak terbaru di antrean printer untuk mesin ini. Pastikan ikon printer ditampilkan di sudut kanan bawah layar Anda. Jika tidak, kirim pekerjaan cetak lain.
Kemungkinan penyebabnya: Titik masuk Anda untuk tugas latar belakang (
IBackgroundTask) berada dalam proyek yang sama dengan aplikasi latar depan Anda. Skenario ini tidak diizinkan. Pisahkan kelas yang sama sekali baru untuk penangan tugas latar belakang Anda.Kemungkinan penyebabnya: Kelas yang merupakan titik masuk untuk pemberitahuan di aplikasi Anda salah diberikan dalam metadata manifes atau perangkat Anda, menyebabkan aplikasi mengalami crash di host latar belakang dan tidak menampilkan roti panggang apa pun. Periksa masalah berikut:
Pastikan titik masuk ditentukan dengan benar pada tab Declarations di Manifest Designer. Ini harus dalam bentuk Namespace.ClassName untuk C# dan C++. Untuk JavaScript, ini harus menjadi jalur direktori relatif ke file .js.
Aplikasi JavaScript harus memanggil close() setelah selesai.
Kelas C# harus menerapkan Windows.ApplicationModel.Background.IBackgroundTask dan harus memiliki metode void publik
Run(Windows.ApplicationModel.Background.IBackgroundTaskInstance taskInstance).Kelas C++ harus menerapkan Windows::ApplicationModel::Background::IBackgroundTask dan harus memiliki
virtual void Run(Windows::ApplicationModel::Background::IBackgroundTaskInstance^ taskInstance)metode.
Artikel terkait
- Gambaran umum lencana (aplikasi UWP)
- Gambaran umum pemberitahuan petak dan petak peta (aplikasi UWP)
- Panduan dan daftar periksa untuk ubin dan lencana (aplikasi UWP)
- Gambaran umum notifikasi toast (aplikasi UWP)
- Panduan dan daftar periksa untuk notifikasi toast (aplikasi UWP)
- Dukungan Driver untuk UI yang Dikustomisasi
- Mengembangkan driver cetak versi 4
- Antarmuka Ekstensi untuk Printer (Driver Cetak v4)
- Komunikasi Dua Arah
- Mulai menggunakan aplikasi UWP
- Membuat aplikasi perangkat UWP (panduan langkah demi langkah)
- Membuat metadata perangkat untuk aplikasi perangkat UWP (panduan langkah demi langkah)