Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Önemli
Cihaz meta verileri kullanım dışıdır ve windows'un gelecek bir sürümünde kaldırılacaktır. Bu işlevin değiştirilmesi hakkında bilgi için bkz . Sürücü Paketi Kapsayıcı Meta Verileri.
UWP uygulamanız çevre birim cihazınızdaki verilerinizi eşitleyebilir. Uygulamanız cihaz meta verileriyle ilişkiliyse, bu UWP cihaz uygulaması üretici yazılımı güncelleştirmeleri gibi cihaz güncelleştirmelerini de gerçekleştirebilir. Bu makalede DeviceUseTrigger veya DeviceServicingTrigger kullanan bir cihaz arka plan görevinin nasıl oluşturulacağı açıklanır. Bu tetikleyicileri kullanan cihaz arka plan aracıları, kullanıcı onayı sağlayan ve cihazlar eşitlenirken ve güncelleştirilirken pil ömrünü korumaya yardımcı olan ilkelere tabidir. Cihaz arka plan görevleri hakkında daha fazla bilgi için bkz . UWP cihaz uygulamaları için cihaz eşitleme ve güncelleştirme.
Bu makale Özel USB cihaz örneğine karşılık gelir. Özel USB cihaz örneği, DeviceUseTrigger ile cihaz eşitlemesi gerçekleştiren bir arka plan görevi gösterir.
Özel USB cihaz örneğindeki cihaz arka plan görevi deviceUseTrigger özelliğine sahip olsa da, bu makalede açıklanan her şey DeviceServicingTrigger kullanan cihaz arka plan görevlerine de uygulanabilir. İki tetikleyiciyi kullanma arasındaki tek fark, Windows tarafından yapılan ilke denetimleridir.
Uygulama bildirimi
Bir cihaz arka plan görevini kullanmak için, uygulamanızın bunu sistem tarafından tetiklenen arka plan görevleri için yapıldığı gibi ön plan uygulamanızın uygulama bildirim dosyasında bildirmesi gerekir. Daha fazla bilgi için bkz . UWP cihaz uygulamaları için cihaz eşitleme ve güncelleştirme.
Bir uygulama paketi bildirim dosyasındaki bu örnekte , DeviceLibrary.SyncContent ön plan uygulamasından bir giriş noktasıdır. DeviceLibrary.SyncContent , DeviceUseTrigger kullanan arka plan görevinin giriş noktasıdır.
<Extensions>
<Extension Category="windows.backgroundTasks" EntryPoint="DeviceLibrary.SyncContent">
<BackgroundTasks>
<m2:Task Type="deviceUse" />
</BackgroundTasks>
</Extension>
</Extensions>
Cihaz arka plan görevi
Cihazın arka plan görev sınıfı IBackgroundTask arabirimini uygular ve çevre biriminizi eşitlemek veya güncellemek için oluşturduğunuz gerçek kodu içerir. Arka plan görev sınıfı, arka plan görevi tetiklendiğinde ve uygulamanızın uygulama bildiriminde sağlanan giriş noktasından yürütülür.
Özel USB cihaz örneğindeki cihaz arka plan sınıfı, DeviceUseTrigger arka plan görevini kullanarak USB cihazıyla eşitleme gerçekleştirme kodunu içerir. Tüm ayrıntılar için örneği indirin. Uygulama ve Windows'un arka plan görev altyapısı hakkında IBackgroundTask daha fazla bilgi için bkz . Uygulamanızı arka plan görevleriyle destekleme.
Özel USB cihaz örneğindeki cihaz arka plan görevinin önemli bölümleri şunlardır:
IoSyncBackgroundTasksınıfı, Windows arka plan görev altyapısı için gerekenIBackgroundTaskarabirimini uygular.sınıfı,
IoSyncBackgroundTasksınıfınDeviceUseDetailsRun yöntemindeIoSyncBackgroundTasksınıfına geçirilen örneği alır ve ilerleme durumunu Microsoft Store uygulamasına geri bildirmek ve iptal olaylarına kaydolmak için bu örneği kullanır.Sınıfın
IoSyncBackgroundTaskRun yöntemi, arka plan cihazı eşitleme kodunu uygulayan özelOpenDeviceveWriteToDeviceAsyncyöntemleri de çağırır.
Ön plan uygulaması
Özel USB cihaz örneğindeki ön plan uygulaması DeviceUseTrigger kullanan bir cihaz arka plan görevini kaydeder ve tetikler. Bu bölümde, ön plan uygulamanızın bir cihaz arka plan görevine kaydolmak, tetiklenmek ve ilerleme durumunu işlemek için atacağı adımlara genel bir bakış sağlanır.
Özel USB cihaz örneğindeki ön plan uygulaması, cihaz arka plan görevini kullanmak için aşağıdaki adımları gerçekleştirir:
Yeni DeviceUseTrigger ve
BackgroundTaskRegistrationnesneleri oluşturur.Bu uygulama tarafından daha önce herhangi bir arka plan görevinin kaydedilip kaydedilmediğini denetler ve görevdeki BackgroundTaskRegistration.Unregister yöntemini çağırarak bunları iptal eder.
Özel
SetupBackgroundTaskyöntem, cihazla eşitlenecek arka plan görevini kaydeder.SetupBackgroundTaskyöntemi, sonraki adımdaSyncWithDeviceAsyncyönteminden çağrılır.DeviceUseTriggerbaşlatır ve daha sonra kullanmak üzere kaydeder.Yeni bir
BackgroundTaskBuildernesnesi oluşturur veName,TaskEntryPointözellikleri ileSetTriggeryöntemini kullanarak uygulamanınDeviceUseTriggernesnesini ve arka plan görev adını kaydeder. NesneninBackgroundTaskBuilderTaskEntryPointözelliği, arka plan görevi tetiklendiğinde çalıştırılacak arka plan görev sınıfının tam adına ayarlanır.Ön plan uygulamasının kullanıcıya tamamlama ve ilerleme güncelleştirmeleri sağlayabilmesi için arka plan görevinden tamamlama ve ilerleme olayları kaydeder.
Özel
SyncWithDeviceAsyncyöntem, cihazla eşitlenecek arka plan görevini kaydeder ve arka plan eşitlemesini başlatır.Önceki adımdaki
SetupBackgroundTaskyöntemini çağırır ve cihazla senkronize olacak arka plan görevini kaydeder.Arka plan görevini başlatan özel
StartSyncBackgroundTaskAsyncyöntemi çağırır. Bu yöntem, arka plan görevinin başlatıldığında cihazı açabildiğinden emin olmak için uygulamanın cihazla olan tutamaç bağlantısını kapatır.Önemli
Arka plan görevi güncellemeyi gerçekleştirmek için cihazı açmak zorundadır, bu nedenle ön plan uygulaması
RequestAsyncçağrılmadan önce cihazla olan bağlantılarını kapatmalıdır.
Ardından,
StartSyncBackgroundTaskAsyncyöntemi,DeviceUseTriggernesnesininRequestAsyncyöntemini çağırır ve arka plan görevini tetikler. Sonuçta, arka plan görevinin başarıyla başlatılıp başlatılmadığını belirlemek için kullanılanDeviceTriggerResults'denRequestAsyncnesnesini döndürür.Önemli
Windows, tüm gerekli görev başlatma ilkesinin denetimlerini tamamlandığından emin olmak için kontrol eder. Tüm ilke denetimleri tamamlanırsa, güncelleştirme işlemi artık ön plan uygulamasının dışında bir arka plan görevi olarak çalıştırılır ve işlem devam ederken uygulamanın güvenli bir şekilde askıya alınmasına olanak tanır. Windows ayrıca tüm çalışma zamanı gereksinimlerini zorunlu kılacak ve bu gereksinimler artık karşılanmadıysa arka plan görevini iptal edecektir.
Son olarak,
SyncWithDeviceAsyncyöntemi,DeviceTriggerResultstarafından döndürülenStartSyncBackgroundTaskAsyncnesnesini kullanarak arka plan görevinin başarıyla başlatılıp başlatılmadığını belirler. SonucuDeviceTriggerResults'dan incelemek için bir switch deyimi kullanılır.Ön plan uygulaması, uygulama kullanıcı arabirimini cihaz arka plan görevinden ilerleme durumuyla güncelleştirecek özel
OnSyncWithDeviceProgressbir olay işleyicisi uygular.Ön plan uygulaması, arka plan görevi tamamlandığında arka plan görevlerinden ön plan uygulamasına geçişi işlemek için özel
OnSyncWithDeviceCompletedbir olay işleyicisi uygular.CheckResultsnesnesininBackgroundTaskCompletedEventArgsyöntemini, arka plan görevi tarafından herhangi bir özel durumun atılıp atılmadığını belirlemek için kullanır.Ön plan uygulaması, arka plan görevi tamamlandıktan sonra cihazı uygulama tarafından kullanılmak üzere yeniden açar ve kullanıcıyı bilgilendirmek için kullanıcı arabirimini güncelleştirir.
Ön plan uygulaması, arka plan görevini başlatmak ve iptal etmek için kullanıcı arabiriminden özel düğme tıklama olay işleyicileri uygular.
Özel
Sync_Clickolay işleyicisi, önceki adımlarda açıklanan yöntemi çağırırSyncWithDeviceAsync.Özel
CancelSync_Clickolay işleyicisi, arka plan görevini iptal etmek için özelCancelSyncWithDeviceyöntemi çağırır.
Özel
CancelSyncWithDeviceyöntem, etkin cihaz eşitlemelerinin kaydını kaldırıp iptal eder, böylece cihazın BackgroundTaskRegistration.Unregister yöntemi kullanılarak yeniden açılabilmesini sağlar.
İlgili makaleler
- Özel USB cihaz örneği
- UWP cihaz uygulamaları için cihaz eşitleme ve güncelleştirme
- Başlatma, devam etme ve çoklu görev yönetimi
- Uygulamanızı arka plan görevleriyle destekleme