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 . The code for the background task is in the PrintBackgroundTask.cs file. The foreground app, the full-screen app that can be launched from Start, is in the DeviceAppForPrinters project. The InkLevel.xaml.cs file shows one way that notification details can be accessed from the foreground app. To work with print notifications, the sample uses the printer extension library in the PrinterExtensionLibrary project. 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.
Print notifications
Pemberitahuan cetak memungkinkan aplikasi perangkat UWP Menginformasikan peristiwa printer penting saat mencetak, seperti kertas macet, membuka pintu printer, tingkat tinta rendah, atau kesalahan printer di luar kertas. Saat printer memicu pemberitahuan, broker peristiwa sistem menjalankan tugas latar belakang aplikasi Anda. Dari sana, tugas latar belakang dapat menyimpan detail pemberitahuan, mengirim toast, memperbarui petak peta, 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. For more information, see Bidirectional Communications.
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 dapat memilih untuk:
- Do nothing
- Menyimpan detail pemberitahuan di penyimpanan data aplikasi lokal
- Memperbarui pemberitahuan petak peta aplikasi UWP
- Memperbarui lencana pemberitahuan aplikasi UWP
- Mengirim pemberitahuan toast aplikasi UWP
Pemberitahuan petak peta atau pemberitahuan toast dapat memungkinkan pengguna dengan mudah meluncurkan aplikasi latar depan Anda. When the foreground app is launched, it can use the OnLaunched method in App.xaml.cs to check if it was launched by a tile or toast. 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. See Getting started for information about downloading the tools and creating a developer account.
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.
If you're writing your app with C# or JavaScript, add the PrinterExtensionLibrary and DeviceAppForPrintersLibrary projects to your UWP device app solution. 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 Extension elemen, dengan atribut diatur Category ke windows.backgroundTasks dan atribut diatur EntryPoint ke BackgroundTask.PrintBackgroundTask. Ekstensi ini juga menyertakan Task elemen untuk menunjukkan bahwa ekstensi mendukung systemEvent jenis tugas.
You can add the print background task extension on the Declarations tab of the Manifest Designer in Microsoft Visual Studio. Anda juga dapat mengedit XML manifes paket aplikasi secara manual, menggunakan Editor XML (Teks). Right-click the Package.appxmanifest file in Solution Explorer for editing options.
This example shows the background task extension in the Extension element, as it appears in the app package manifest file, 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 selesaikan kotak Penangan pemberitahuan di halaman Tentukan informasi aplikasi perangkat UWP . Ini membantu memastikan bahwa tugas latar belakang aplikasi Anda dipanggil selama pemberitahuan cetak.
For step-by-step instructions on how to edit your device metadata, see the Testing section.
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.
Design guidelines
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
Best practices
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.
Use 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. Pertahankan pengguna 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 petak peta daripada tampilkan toast. Misalnya, untuk kondisi tinta rendah, pembaruan petak peta sudah cukup. Tetapi jika printer kehabisan tinta, aplikasi dapat menampilkan pemberitahuan toast.
Menyimpan detail pemberitahuan
Tugas latar belakang tidak dapat meluncurkan aplikasi latar depan secara langsung, hanya pengguna yang dapat: dari petak peta, roti panggang, atau 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 yang harus ditransmisikan untuk mengetik Windows.Devices.Printers.Extensions.PrintNotificationEventDetails. Properti PrinterName dan EventData objek tersebut masing-masing membawa nama printer dan pesan Bidi.
This example shows the background task's Run method, in the PrintBackgroundTask.cs file, where the print notification details are saved to app settings before the toast, tile, and badge methods are called.
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 petak peta
Ketika detail pemberitahuan cetak dikirim ke UpdateTile metode , tugas latar belakang sampel menunjukkan cara menampilkannya pada petak peta. Untuk informasi selengkapnya tentang petak peta, lihat Gambaran umum pemberitahuan petak peta dan petak peta.
This example shows the background task's UpdateTile method, in the PrintBackgroundTask.cs file.
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. For more information about tiles, see Badge overview.
This example shows the background task's UpdateBadge method, in the PrintBackgroundTask.cs file.
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 mengaktifkan pemberitahuan toast, aplikasi perlu mendaftarkan bahwa itu berkemampuan toast dalam manifes paket aplikasi.
VisualElements Dalam elemen , atur atribut ke ToastCapable true.
Important
Kami tidak menyarankan untuk selalu menampilkan roti panggang, terutama untuk peristiwa yang tidak dapat diganggu. 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.
This example shows the ToastCapable attribute in the VisualElements element, as it appears in the app package manifest file, 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>
This example is from the ShowToast method of the PrintBackgroundTask.cs file. Ini menunjukkan cara menaikkan 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 . For more information about activation and the Microsoft Store app lifecycle, see Application lifecycle.
Untuk menentukan apakah aplikasi Anda diaktifkan dalam satu kasus ini, tangani OnLaunched peristiwa, dan periksa argumen peristiwa yang diteruskan ke penanganan aktivitas. Jika argumen peristiwa null, aplikasi diaktifkan oleh pengguna dari Mulai. Jika argumen peristiwa tidak null, aplikasi diluncurkan dari roti panggang atau petak peta.
This example is from the OnLaunched method of the App.xaml.cs file. 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 di pengaturan Cetak dan sampel pemberitahuan cetak . The code is from the DisplayBackgroundTaskTriggerDetails method of the InkLevel.xaml.cs file. The key index values, keyPrinterName, and keyAsyncUIXML, are the same string constants that are used in the background task, 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.
From the Tools menu, select Enable Test Signing.
Mulai ulang komputer
Bangun solusi dengan membuka file solusi (.sln). Tekan F7 atau buka Solusi Build-Build> 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.
In the Open dialog box, locate the device metadata package associated with your UWP device app. (It has a devicemetadata-ms file extension.)
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.
If your app is registering for printer notifications, fill out the Notification handlers box. In Event ID, enter the name of the print event handler. In Event Asset, enter the name of the file where that code resides.
When you're done, select Next until you get to the Finish page.
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 . Then select Save.
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 ketika diharapkan...
Possible cause: Test signing isn't turned on. Lihat bagian Penelusuran Kesalahan di artikel ini untuk informasi tentang mengaktifkannya.
Possible cause: Toast notifications are disabled by domain policies. Tinggalkan domain dan coba lagi.
Possible cause: The printer hasn't implemented DriverEvents. Periksa apakah driver v4 Anda mendukung Bidi dan DriverEvents. Untuk informasi selengkapnya, lihat Dukungan Driver untuk UI yang Disesuaikan.
Possible cause: The machine has no recent job in the printer queue. Pastikan ikon printer ditampilkan di sudut kanan bawah layar Anda. Jika tidak, kirim pekerjaan cetak lain.
Possible cause: Your entry point for the background task (
IBackgroundTask) is within the same project as your foreground app. Skenario ini tidak diizinkan. Pisahkan kelas yang sama sekali baru untuk penangan tugas latar belakang Anda.Possible cause: The class that is the entry point for notifications in your app is incorrectly given in your manifest or device metadata, causing the app to crash within the background host and not showing any toast. Periksa masalah berikut:
Make sure the entry point is given correctly in the Declarations tab of the 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 kekosongan
Run(Windows.ApplicationModel.Background.IBackgroundTaskInstance taskInstance)publik.Kelas C++ harus menerapkan Windows::ApplicationModel::Background::IBackgroundTask dan harus memiliki
virtual void Run(Windows::ApplicationModel::Background::IBackgroundTaskInstance^ taskInstance)metode.
Related articles
- Gambaran umum lencana (aplikasi UWP)
- Gambaran umum pemberitahuan petak dan petak peta (aplikasi UWP)
- Panduan dan daftar periksa untuk petak peta dan lencana (aplikasi UWP)
- Gambaran umum pemberitahuan toast (aplikasi UWP)
- Panduan dan daftar periksa untuk pemberitahuan toast (aplikasi UWP)
- Dukungan Driver untuk UI yang Disesuaikan
- Mengembangkan driver cetak versi 4
- Antarmuka Ekstensi untuk Printer (Driver Cetak v4)
- Bidirectional Communications
- Mulai menggunakan aplikasi UWP
- Membuat aplikasi perangkat UWP (panduan langkah demi langkah)
- Membuat metadata perangkat untuk aplikasi perangkat UWP (panduan langkah demi langkah)