Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Important
Metagegevens van apparaten zijn afgeschaft en worden verwijderd in een toekomstige versie van Windows. Zie Containermetagegevens voor stuurprogrammapakketten voor informatie over de vervanging voor deze functionaliteit.
UWP-apparaat-apps kunnen reageren op Bidi-gebeurtenissen (bidirectionele communicatie) die worden verzonden vanuit een v4-afdrukstuurprogramma. In dit artikel worden afdrukmeldingen geïntroduceerd en wordt uitgelegd hoe de C#-versie van de afdrukinstellingen en het voorbeeld van afdrukmeldingen een achtergrondtaak gebruikt om te reageren op afdrukmeldingen. De achtergrondtaak demonstreert hoe meldingsdetails worden opgeslagen in de lokale appgegevens, notificaties worden verzonden, en een tegel en badge worden bijgewerkt. Zie Meet UWP-apparaat-appsvoor meer informatie over UWP-apparaat-apps in het algemeen.
De C#-versie van de afdrukinstellingen en het voorbeeld van afdrukmeldingen laat het achtergrondgedeelte van de app (de achtergrondtaak) in het BackgroundTask-project zien. De code voor de achtergrondtaak bevindt zich in het bestand PrintBackgroundTask.cs . De app op de voorgrond, de app die op volledig scherm wordt weergegeven en vanuit Start kan worden gestart, bevindt zich in het DeviceAppForPrinters-project. Het bestand InkLevel.xaml.cs toont een manier waarop meldingsgegevens kunnen worden geopend vanuit de voorgrond-app. Voor het werken met afdrukmeldingen gebruikt het voorbeeld de printerextensiebibliotheek in het project PrinterExtensionLibrary . De printeruitbreidingsbibliotheek biedt een handige manier om toegang te krijgen tot de printeruitbreidingsinterfaces van het v4-printerstuurprogramma. Zie het overzicht van de printerextensiebibliotheek voor meer informatie.
De codevoorbeelden die in dit artikel worden weergegeven, zijn gebaseerd op de C#-versie van de afdrukinstellingen en het voorbeeld van afdrukmeldingen . Dit voorbeeld is ook beschikbaar in JavaScript en C++. Omdat C++ rechtstreeks toegang heeft tot COM, bevat de C++-versie van het voorbeeld geen codebibliotheekprojecten. Download de voorbeelden om de nieuwste versies van de code te bekijken.
Meldingen afdrukken
Met afdrukmeldingen kan uw UWP-apparaat-app de gebruiker informeren over belangrijke printergebeurtenissen tijdens het afdrukken, zoals een papierstoring, een geopende printerdeur, lage inktniveaus of out-of-paper-fouten. Wanneer een printer een melding activeert, voert de systeem gebeurtenisbroker de achtergrondtaak van uw app uit. Vanaf daar kan de achtergrondtaak de meldingsgegevens opslaan, een toastbericht verzenden, een tegel bijwerken, een badge bijwerken of niets doen. Door meldingsgegevens op te slaan, kan uw app een ervaring bieden waarmee gebruikers hun printerproblemen kunnen begrijpen en oplossen.
Printerfabrikanten moeten Bidi en het XML-bestand DriverEvent implementeren in hun v4-afdrukstuurprogramma om afdrukmeldingen te gebruiken met hun UWP-apparaat-apps. Zie Bidirectionele communicatie voor meer informatie.
Wanneer een DriverEvent optreedt en de achtergrondtaak van een UWP-apparaat-app wordt gestart, heeft de app verschillende opties om door te gaan. Raadpleeg voor meer informatie over het proces dat leidt tot het starten van de taak Stuurprogrammaondersteuning voor aangepaste gebruikersinterface.
De achtergrondtaak kan kiezen uit:
- Niets doen
- De meldingsgegevens opslaan in het lokale app-gegevensarchief
- Een tegelmelding voor een UWP-app bijwerken
- Een UWP-app-meldingsbadge bijwerken
- Verzend een toastmelding voor de UWP-app
Met de tegelwaarschuwing of toastmelding kunnen gebruikers uw app in de voorgrond gemakkelijk starten. Wanneer de app op de voorgrond wordt gestart, kan deze de OnLaunched-methode in App.xaml.cs gebruiken om te controleren of deze via een tegel of toastmelding is gestart. Als dit het geval is, heeft de voorgrond-app toegang tot alle details van de printnotificatie in het lokale app-datastore.
Prerequisites
Voordat u aan de slag gaat:
Zorg ervoor dat uw printer is geïnstalleerd met een v4-afdrukstuurprogramma. Zie V4-afdrukstuurprogramma's ontwikkelen voor meer informatie.
Zorg dat uw ontwikkel-pc is ingesteld. Zie Aan de slag voor informatie over het downloaden van de hulpprogramma's en het maken van een ontwikkelaarsaccount.
Koppel uw app aan de Store. Zie Een UWP-apparaat-app maken voor meer informatie.
Maak apparaatmetagegevens voor uw printer die deze aan uw app koppelt. Zie Metagegevens van apparaten maken voor meer informatie.
Bouw de gebruikersinterface voor de hoofdpagina van uw app. Alle UWP-apparaat-apps kunnen worden gestart vanaf het startscherm, waar ze op volledig scherm worden weergegeven. Gebruik de Start-ervaring om uw product of services te markeren op een manier die overeenkomt met de specifieke huisstijl en functies van uw apparaten. Er zijn geen speciale beperkingen voor het type UI-besturingselementen dat kan worden gebruikt. Zie de ontwerpprincipes voor Microsoft Storeom aan de slag te gaan met het ontwerp van de volledige schermervaring.
Als u uw app schrijft met C# of JavaScript, voegt u de projecten PrinterExtensionLibrary en DeviceAppForPrintersLibrary toe aan uw UWP-apparaat-app-oplossing. Vind ieder van deze projecten in het Afdrukinstellingen en afdrukmeldingen voorbeeld.
Omdat C++ rechtstreeks toegang heeft tot COM, hebben C++-apps geen afzonderlijke bibliotheek nodig om te werken met de com-printerapparaatcontext.
Stap 1: Achtergrondtaak registreren
Om te kunnen herkennen dat de app afdrukmeldingen kan verwerken, moet de app een extensie voor achtergrondtaken registreren voor afdrukmeldingen. Deze extensie wordt gedeclareerd in een Extension element, met een Category kenmerk ingesteld op windows.backgroundTasks en een EntryPoint kenmerk ingesteld op BackgroundTask.PrintBackgroundTask. De extensie bevat ook een Task element om aan te geven dat deze taaktypen ondersteunt systemEvent .
U kunt de extensie voor afdruktaken op de achtergrond toevoegen op het tabblad Declarations in de Manifest Designer van Microsoft Visual Studio. U kunt het manifest-XML van het app-pakket ook handmatig bewerken met behulp van de XML-editor (Tekst). Klik met de rechtermuisknop op het bestand Package.appxmanifest in Solution Explorer voor bewerkingsopties.
In dit voorbeeld ziet u de achtergrondtaakextensie in het Extension element, zoals deze wordt weergegeven in het manifestbestand van het app-pakket, 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>
Stap 2: Metagegevens van apparaten configureren
Wanneer u de wizard Apparaatmetagegevens ontwerpen gebruikt om uw app aan uw apparaat te koppelen, vul dan het veld Meldingshandlers in op de pagina UWP-apparaatapp-gegevens opgeven. Dit zorgt ervoor dat de achtergrondtaak van uw app wordt aangeroepen tijdens een afdrukmelding.
Zie de sectie Testen voor stapsgewijze instructies voor het bewerken van de metagegevens van uw apparaat.
Stap 3: de gebruikersinterface bouwen
Voordat u uw app bouwt, moet u samenwerken met uw ontwerpers en uw marketingteam om de gebruikerservaring te ontwerpen. De gebruikerservaring moet de huisstijlaspecten van uw bedrijf projecteer en u helpen bij het opbouwen van een verbinding met uw gebruikers.
Ontwerprichtlijnen
Het is belangrijk om de richtlijnen voor de Microsoft Store-app te bekijken voordat u uw tegel- en badgeervaring ontwerpt. De richtlijnen helpen ervoor te zorgen dat uw app een intuïtieve ervaring biedt die consistent is met andere UWP-apps.
Houd er voor de hoofdpagina van uw app rekening mee dat Windows 8.1 meerdere apps in verschillende grootten op één monitor kan weergeven. Zie de volgende richtlijnen voor meer informatie over hoe uw app probleemloos kan meebewegen tussen schermgrootten, venstergrootten en oriëntaties.
- Richtlijnen voor venstergrootten en schalen naar schermen
- Richtlijnen voor het wijzigen van het formaat van vensters naar hoge en smalle formaten
Beste praktijken
Voeg geen actiewoorden toe aan meldingen. Gebruik in het meldingsbericht geen tekst waarmee gebruikers een melding moeten pushen, drukken of selecteren. Gebruikers begrijpen al dat ze op een pop-up kunnen drukken om meer informatie te vinden. Schrijf bijvoorbeeld 'Uw printer is laag op inkt' in plaats van 'Uw printer is laag op inkt'. Druk om problemen op te lossen".
Houd interacties eenvoudig. Alles wat in de meldingenervaring wordt weergegeven, moet betrekking hebben op de melding. Een meldingspagina over een papieren jam mag bijvoorbeeld alleen koppelingen en informatie bevatten over het oplossen van dat probleem. Deze mag geen koppelingen bevatten naar niet-gerelateerde ervaringen, zoals inktaankopen of andere ondersteuningsinformatie.
Gebruik multimedia. Gebruik werkelijke foto's, video's of illustraties van het apparaat om gebruikers te helpen snel een probleem met hun apparaat op te lossen.
Houd gebruikers binnen de context van uw app. Wanneer u informatie over een probleem opgeeft, kunt u geen koppeling maken naar online of andere ondersteuningsmateriaal. Houd de gebruiker in de context van de app.
Stap 4: Achtergrondtaak maken
Als uw app een achtergrondtaak registreert voor afdrukmeldingen, moet deze een handler opgeven voor de activering van de achtergrondtaak. In het voorbeeld afdrukinstellingen en afdrukmeldingen verwerkt de PrintBackgroundTask klasse de afdrukmeldingen.
Als de status van uw printer geen onmiddellijke tussenkomst van de gebruiker vereist, werkt u een tegel bij in plaats van een toastbericht weer te geven. Bijvoorbeeld, bij een lage inktstatus is een update van de tegel voldoende. Maar als de printer geen inkt meer heeft, kan de app een toastmelding weergeven.
Meldingsgegevens opslaan
De achtergrondtaak kan de voorgrond-app niet rechtstreeks starten, alleen de gebruiker kan: vanaf een tegel, melding of Start. Om ervoor te zorgen dat de voorgrond-app toegang heeft tot de details van de afdrukmelding, slaat de achtergrondtaak deze op in de lokale opslag. Zie quickstart: lokale app-gegevens voor meer informatie over het gebruik van lokale opslag.
Wanneer een afdrukmelding wordt geactiveerd, voert Windows de achtergrondtaak uit door zijn Run-methode aan te roepen. De meldingsgegevens worden doorgegeven aan de achtergrondtaak via een methodeparameter die moet worden omgezet in het type Windows.Devices.Printers.Extensions.PrintNotificationEventDetails. De PrinterName eigenschappen EventData van dat object bevatten respectievelijk de printernaam en het Bidi-bericht.
In dit voorbeeld wordt de Run-methode van de achtergrondtaak getoond in het bestand PrintBackgroundTask.cs, waarin de details van de afdrukmelding worden opgeslagen in de app-instellingen voordat de toast-, tegel- en badgemethoden worden aangeroepen.
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();
}
Een tegel bijwerken
Wanneer de afdrukmeldingsdetails naar de UpdateTile-methode worden verzonden, laat de achtergrondtaak van het voorbeeldprogramma zien hoe ze op een tegel kunnen worden weergegeven. Voor meer informatie over tegels, zie Overzicht van tegels en tegelmeldingen.
In dit voorbeeld ziet u de methode UpdateTile van de achtergrondtaak in het bestand 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);
}
Een badge bijwerken
De UpdateBadge methode laat zien hoe u de badgeNotification-klasse gebruikt om een badge bij te werken. Zie Overzicht van badges voor meer informatie over tegels.
In dit voorbeeld ziet u de methode UpdateBadge van de achtergrondtaak in het PrintBackgroundTask.cs-bestand.
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);
}
Een toast uitbrengen
Een toastmelding is een tijdelijk bericht voor de gebruiker dat relevante, tijdgevoelige informatie bevat en snelle toegang biedt tot gerelateerde inhoud in een app. Toastmeldingen moeten voor gebruikers worden gezien als een uitnodiging om terug te keren naar uw app om iets van interesse te vervolgen. Zie Overzicht van toastmeldingen voor meer informatie.
Om toastmeldingen in te schakelen, moet de app registreren dat deze geschikt is voor toastmeldingen in het manifest van het app-pakket. Stel in het VisualElements element het ToastCapable kenmerk in op waar.
Important
Het is niet raadzaam om altijd een melding weer te geven, met name voor niet-actie-gerelateerde gebeurtenissen. Dit kan vervelend worden voor gebruikers en ervoor zorgen dat ze alle meldingen van een app uitschakelen. Voor gebeurtenissen waarvoor de onmiddellijke aandacht van de gebruiker niet nodig is, raden we aan alleen de tegel en badge bij te werken en geen toastmelding weer te geven.
In dit voorbeeld ziet u het ToastCapable kenmerk in het VisualElements element, zoals dit wordt weergegeven in het manifestbestand van het app-pakket, 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>
Dit voorbeeld is afkomstig uit de ShowToast methode van het PrintBackgroundTask.cs-bestand . Het laat zien hoe u een toastmelding maakt op basis van twee tekenreeksen, genoemd title en 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);
}
Stap 5: Activering afhandelen
Nadat een afdrukmelding de achtergrondtaak activeert, kan de app worden gestart door te tikken op een toastmelding of een tegel. Als uw app is geactiveerd vanuit één van beide opties, wordt een parameter via de eigenschap LaunchActivatedEventArgs.arguments aan de app doorgegeven. Zie toepassingslevenscyclus voor meer informatie over activering en de levenscyclus van de Microsoft Store app.
Als u wilt bepalen of uw app in een van deze gevallen is geactiveerd, verwerkt u de OnLaunched gebeurtenis en bekijkt u de gebeurtenisargumenten die worden doorgegeven aan de gebeurtenis-handler. Als de gebeurtenisargumenten null zijn, is de app vanaf het begin geactiveerd door de gebruiker. Als de gebeurtenisargumenten niet null zijn, is de app gestart vanaf een melding of tegel.
Dit voorbeeld is afkomstig van de OnLaunched methode van het App.xaml.cs-bestand . U leert hoe u de activering van toastmeldingen of tegels kunt behandelen.
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();
}
Stap 6: Details van toegangsmeldingen
Omdat de achtergrondtaak de voorgrond-app niet rechtstreeks kan starten, moeten de details van de afdrukmelding worden opgeslagen in de instellingen van de app, zodat de voorgrond-app er toegang toe heeft. Zie quickstart: lokale app-gegevens voor meer informatie over het gebruik van lokale opslag.
In dit voorbeeld ziet u hoe de printernaam en het Bidi-bericht worden opgehaald uit app-instellingen in de afdrukinstellingen en het voorbeeld van afdrukmeldingen . De code is afkomstig van de DisplayBackgroundTaskTriggerDetails methode van het InkLevel.xaml.cs-bestand . De sleutelindexwaarden, keyPrinterNameen keyAsyncUIXML, zijn dezelfde tekenreeksconstanten die worden gebruikt in de achtergrondtaak , 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
Voordat u uw UWP-apparaat-app kunt testen, moet deze zijn gekoppeld aan uw printer met behulp van apparaatmetagegevens.
U hebt een kopie van het metagegevenspakket van het apparaat voor uw printer nodig om de apparaat-app-gegevens eraan toe te voegen. Als u geen metagegevens van apparaten hebt, kunt u het maken met behulp van de wizard Apparaatmetagegevens maken , zoals beschreven in het artikel Apparaatmetagegevens maken voor uw UWP-apparaat-app.
Als u de wizard Ontwerpen van apparaatmetagegevens wilt gebruiken, moet u Microsoft Visual Studio Professional, Microsoft Visual Studio Ultimate of de zelfstandige SDK voor Windows 8.1 installeren voordat u de stappen in dit artikel voltooit. Als u Microsoft Visual Studio Express voor Windows installeert, wordt een versie van de SDK geïnstalleerd die de wizard niet bevat.
Met de volgende stappen bouwt u uw app en installeert u de metagegevens van het apparaat.
Testondertekening inschakelen.
Start de wizard Apparaatmetagegevens ontwerpen vanuit %ProgramFiles(x86)%\Windows Kits\8.1\bin\x86 door te dubbelklikken op DeviceMetadataWizard.exe
Selecteer In het menu Extra de optie Testondertekening inschakelen.
De computer opnieuw opstarten
Bouw de oplossing door het oplossingsbestand (.sln) te openen. Druk op F7 of ga naar Build->Build Solution in het menu bovenaan nadat de sample is geladen.
Verbreek de verbinding met de printer en verwijder deze. Deze stap is vereist, zodat Windows de bijgewerkte metagegevens van het apparaat leest wanneer het apparaat de volgende keer wordt gedetecteerd.
Metagegevens van apparaten bewerken en opslaan. Om de apparaat-app aan uw toestel te koppelen, moet u de app met uw apparaat verbinden.
Als de metagegevens van uw apparaat nog niet zijn aangemaakt, raadpleegt u Metagegevens voor uw UWP-apparaat-app maken.
Als de Apparaatmetadata Wizard nog niet is geopend, kunt u deze starten vanuit %ProgramFiles(x86)%\Windows Kits\8.1\bin\x86 door te dubbelklikken op DeviceMetadataWizard.exe.
Selecteer Metagegevens van apparaat bewerken. Met deze optie kunt u het bestaande metagegevenspakket van het apparaat bewerken.
Zoek in het dialoogvenster Openen het metagegevenspakket van het apparaat dat is gekoppeld aan uw UWP-apparaat-app. (Het heeft de bestandsextensie devicemetadata-ms .)
Voer op de pagina Uwp-apparaat-app-gegevens opgeven de gegevens van de Microsoft Store-app in het vak UWP-apparaat-app in. Selecteer Het MANIFESTbestand van uw UWP-app importeren om automatisch de pakketnaam, de naam van de uitgever en de UWP-app-id in te voeren.
Als uw app wordt geregistreerd voor printermeldingen, vult u het vak Meldingshandlers in. Voer in Event ID de naam van de handler voor de afdrukgebeurtenis in. Voer in Gebeurtenisasset de naam in van het bestand waarin die code zich bevindt.
Wanneer u klaar bent, selecteert u Volgende totdat u bij de pagina Voltooien bent.
Op de pagina Beoordeel het metagegevenspakket van het apparaat, controleer of alle instellingen juist zijn en vink het vakje om het metagegevenspakket van het apparaat naar het metagegevensarchief op de lokale computer te kopiëren aan. Vervolgens selecteer Opslaan.
Maak opnieuw verbinding met de printer zodat Windows de bijgewerkte metagegevens van het apparaat leest wanneer het apparaat is verbonden.
Troubleshooting
Probleem: er wordt geen standaard toastmelding weergegeven
Wanneer er geen standaardafdrukmelding verschijnt terwijl dit wel wordt verwacht...
Mogelijke oorzaak: Testondertekening is niet ingeschakeld. Zie de sectie Foutopsporing in dit artikel voor informatie over het inschakelen ervan.
Mogelijke oorzaak: Toastmeldingen zijn uitgeschakeld via domeinbeleid. Laat het domein staan en probeer het opnieuw.
Mogelijke oorzaak: De printer heeft DriverEvents niet geïmplementeerd. Controleer of uw v4-stuurprogramma Bidi en DriverEvents ondersteunt. Zie Ondersteuning voor stuurprogramma's voor aangepaste gebruikersinterface voor meer informatie.
Mogelijke oorzaak: De computer heeft geen recente taak in de printerwachtrij. Zorg ervoor dat het printerpictogram wordt weergegeven in de rechterbenedenhoek van het scherm. Zo niet, verzendt u een andere afdruktaak.
Mogelijke oorzaak: Uw beginpunt voor de achtergrondtaak (
IBackgroundTask) bevindt zich binnen hetzelfde project als uw voorgrond-app. Dit scenario is niet toegestaan. Scheid een geheel nieuwe klasse voor uw achtergrondtaakverwerker.Mogelijke oorzaak: De klasse die het ingangspunt vormt voor meldingen in uw app, is onjuist opgegeven in uw manifest of in de metagegevens van het apparaat, waardoor de app binnen de achtergrondhost vastloopt en er geen toastmelding wordt weergegeven. Controleer op de volgende problemen:
Zorg ervoor dat het ingangspunt correct is opgegeven op het tabblad Declaraties van de ontwerpfunctie voor manifesten. Deze moet de vorm hebben van Namespace.ClassName voor C# en C++. Voor JavaScript moet dit het relatieve mappad naar het .js-bestand zijn.
Een JavaScript-app moet close() aanroepen nadat deze is voltooid.
De C#-klasse moet Windows.ApplicationModel.Background.IBackgroundTask implementeren en moet een public void-methode
Run(Windows.ApplicationModel.Background.IBackgroundTaskInstance taskInstance)hebben.De C++-klasse moet Windows::ApplicationModel::Background::IBackgroundTask implementeren en moet een
virtual void Run(Windows::ApplicationModel::Background::IBackgroundTaskInstance^ taskInstance)methode hebben.
Verwante artikelen
- Badgeoverzicht (UWP-apps)
- Overzicht van tegels en tegelmeldingen (UWP apps)
- Richtlijnen en controlelijst voor tegels en badges (UWP-apps)
- Overzicht van toastmeldingen (UWP-apps)
- Richtlijnen en controlelijst voor pop-upmeldingen (UWP-apps)
- Stuurprogrammaondersteuning voor aangepaste gebruikersinterface
- V4-printerstuurprogramma's ontwikkelen
- Printerextensieinterfaces (v4-printerstuurprogramma)
- Bidirectionele communicatie
- Aan de slag met UWP-apps
- Een UWP-apparaat-app maken (stapsgewijze handleiding)
- Apparaatmetagegevens maken voor een UWP-apparaat-app (stapsgewijze handleiding)