2013-12-09 88 views
1

有人可以告訴我或告訴一些例子如何從Windows Phone 8中的通知中心取消註冊。我嘗試過這種方式,但它不起作用。Windows Phone 8通知中心註銷

public void registerForNotifications(string[] tags) 
    { 
     var channel = HttpNotificationChannel.Find("xxx"); 
     if (channel == null) 
     { 
      channel = new HttpNotificationChannel("xxx"); 
      channel.Open(); 
      channel.BindToShellToast(); 
     } 

     string[] tagsToSubscribeTo = tags; 


     channel.ChannelUriUpdated += new EventHandler<NotificationChannelUriEventArgs>(async (o, args) => 
     { 
      var hub = new NotificationHub("xxx", "xxx"); 
      await hub.RegisterNativeAsync(args.ChannelUri.ToString(), tagsToSubscribeTo); 
     }); 

    } 

public async void unregisterFromNotifications() 
    { 

     var channel = HttpNotificationChannel.Find("xxx"); 
     var hub = new NotificationHub("xxx", "xxx"); 
     await hub.UnregisterAllAsync(channel.ChannelUri.ToString()); 
    } 

回答

0

你沒有說什麼「它沒有工作」的含義。你收到錯誤信息了嗎?它報告成功但實際上失敗了嗎?在你的問題中,如果你分享這些東西,它確實會有更多幫助。不過,無論如何,我會刺穿這個。

我懷疑你可能在使用Windows Phone 8應用程序中的DefaultListenSharedAccessSignature端點。

http://msdn.microsoft.com/en-us/library/dn495373.aspx,監聽級別的訪問權限權限:

  • 創建/更新註冊。

  • 閱讀註冊。

  • 閱讀所有註冊處理。

  • 刪除註冊。

讀取最後一個,我想知道UnregisterAllAsync方法可能需要更高的訪問級別,刪除所有的註冊,而不是隻有一個。

但是,而不是使用DefaultFullSharedAccessSignature端點,我寧願嘗試UnregisterAsync方法,而不是UnregisterAllAsync

聲明:我沒有試過這個。它可能根本沒有幫助。