2015-10-02 24 views
6

Tôi đã tìm ra bằng cách sử dụng TimeTrigger là cách cho tác vụ nền được lên lịch trên Windows 10 (UWP). Tuy nhiên, có vẻ như số lượng tối thiểu chúng tôi cần đưa ra là 15 phút. Chỉ cần tự hỏi, làm thế nào báo động và nhắc nhở làm việc cho Windows 10 thậm chí chúng tôi lên lịch để chạy trong 1 phút tiếp theo.TimeTrigger/Scheduler trong Windows 10 (UWP) trong ít hơn 15 phút

Tôi đang tìm một giải pháp sẽ kích hoạt tác vụ trong một khoảng thời gian cụ thể bao gồm ít hơn 15 phút.

Có ai có thể làm sáng tỏ điều này không?

+0

Báo thức và lời nhắc khác nhau. Bạn không cần 'TimeTrigger' cho họ. http://stackoverflow.com/questions/31740884/can-i-create-an-alarm-app-for-window-universal-app –

+0

Tôi đã xem mã mẫu trên Github và thấy rằng Báo thức và các bánh mì nướng khác được hiển thị dựa trên nút bấm. Bạn có biết làm thế nào điều này có thể được gắn vào một bộ đếm thời gian làm việc ngay cả các ứng dụng Foreground không chạy? Tôi không chắc chắn, làm thế nào nó chạy theo thời gian dự kiến. Điều đó có được thực hiện bởi "ToastNotificationManager.CreateToastNotifier(). AddToSchedule" như Jeffrey đã chỉ ra? Bất kỳ mã cho điều đó trên Github Windows 10 mẫu? –

+0

Bất kỳ ý tưởng nào về cách lập lịch chạy một khối mã theo cách tương tự này (có thể ít hơn 15 phút, dựa trên thời gian người dùng chọn)? –

Trả lời

4

Báo thức & Ứng dụng đồng hồ đang sử dụng Thông báo bánh mì nướng được lập lịch thay vì tác vụ nền.

enter image description here

Đây là mẫu mã để sắp xếp một bánh mì nướng trong vòng 10 giây.

namespace UWPApp 
{ 
    /// <summary> 
    /// An empty page that can be used on its own or navigated to within a Frame. 
    /// </summary> 
    public sealed partial class MainPage : Page 
    { 
     private Random random = new Random((int)DateTime.Now.Ticks); 

     const string TOAST = @" 
<toast> 
    <visual> 
    <binding template=""ToastGeneric""> 
     <text>Sample</text> 
     <text>This is a simple toast notification example</text> 
     <image placement = ""AppLogoOverride"" src=""oneAlarm.png"" /> 
    </binding> 
    </visual> 
    <actions> 
    <action content = ""check"" arguments=""check"" imageUri=""check.png"" /> 
    <action content = ""cancel"" arguments=""cancel""/> 
    </actions> 
    <audio src =""ms-winsoundevent:Notification.Reminder""/> 
</toast>"; 


     public MainPage() 
     { 
      this.InitializeComponent(); 
     } 

     private void Button_Click(object sender, RoutedEventArgs e) 
     { 
      var when = DateTime.Now.AddSeconds(10); 

      var offset = new DateTimeOffset(when); 

      Windows.Data.Xml.Dom.XmlDocument xml = new Windows.Data.Xml.Dom.XmlDocument(); 

      xml.LoadXml(TOAST); 

      ScheduledToastNotification toast = new ScheduledToastNotification(xml, offset); 

      toast.Id = random.Next(1, 100000000).ToString(); 

      ToastNotificationManager.CreateToastNotifier().AddToSchedule(toast); 
     } 
    } 
} 
+0

Tôi hiểu. Vì vậy, điều này sẽ chạy trên nền? AddToSchedule có chạy ngay cả ứng dụng nền trước không hoạt động không? Có cách nào tôi có thể thực hiện một khối mã trong vòng chưa đầy 10 phút? –

+0

Bất kỳ ý tưởng nào về cách lập lịch chạy một khối mã theo cách tương tự này (có thể ít hơn 15 phút, dựa trên thời gian người dùng chọn)? –

+0

Điều này thực sự trả lời câu hỏi của tôi về Báo thức và thời gian của nó. Đánh dấu là câu trả lời. –

Các vấn đề liên quan