1

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());
    }
4

1 に答える 1

0

「うまくいかなかった」が何を意味するのか、あなたは言いませんでした。エラーメッセージが表示されましたか? 成功したと報告されましたが、実際には失敗しましたか? あなたの質問では、それらを共有していただけると本当に助かります。しかし、とにかくこれを突き刺します。

DefaultListenSharedAccessSignatureWindows Phone 8 アプリのエンドポイントを使用している可能性があります。

http://msdn.microsoft.com/en-us/library/dn495373.aspxによると、リッスン アクセス レベルは次の権限を付与します。

  • 登録を作成/更新します。

  • 登録を読みます。

  • ハンドルのすべての登録を読み取ります。

  • 登録を削除します。

最後の 1 つを読んで、1UnregisterAllAsyncつだけではなくすべての登録を削除するには、より高いアクセス レベルが必要になるのではないかと思います。

しかし、DefaultFullSharedAccessSignatureエンドポイントを使用するのではなく、UnregisterAsync代わりにメソッドを試してみたいと思いますUnregisterAllAsync

免責事項:私はこれを試していません。まったく役に立たないかもしれません。

于 2014-07-07T07:20:14.563 に答える