【问题标题】:Is it possible to disable Notification settings for the application in Xamarin Forms是否可以在 Xamarin Forms 中禁用应用程序的通知设置
【发布时间】:2021-11-02 05:29:35
【问题描述】:

有没有办法通过代码禁用应用程序的警报设置?我已经使用下面的代码启用了这些设置,但是我找不到任何方法可以在用户操作时再次禁用这些设置。

var pushSettings = UIUserNotificationSettings.GetSettingsForTypes(
                UIUserNotificationType.Alert |
                UIUserNotificationType.Badge |
                UIUserNotificationType.Sound,
                new NSSet());

UIApplication.SharedApplication.RegisterUserNotificationSettings(pushSettings);
UIApplication.SharedApplication.RegisterForRemoteNotifications();

有以下方法,但它不会在应用程序设置中禁用通知。

 UIApplication.SharedApplication.UnregisterForRemoteNotifications

【问题讨论】:

    标签: xamarin xamarin.forms push-notification uiapplication


    【解决方案1】:

    问题似乎是 iOS 在取消注册后的一段时间内阻止向 Apple 注册推送通知。关于注销的 Apple Docs 说:

    您应该只在极少数情况下调用此方法,例如当 该应用程序的新版本取消了对所有类型遥控器的支持 通知。用户可以暂时阻止应用接收 通过设置的通知部分进行远程通知 应用程序。通过此方法取消注册的应用始终可以重新注册。

    https://developer.apple.com/documentation/uikit/uiapplication/1623093-unregisterforremotenotifications?preferredLanguage=occ

    所以,只要您确实需要,就不要调用 unregisterForRemoteNotifications(请参阅 Apple Doc)。

    用户可以完全控制为您的应用启用和禁用通知,如果您想在代码中执行此操作,我认为您可以创建一个弹出窗口以引导 设置页面。像这样的问题显示How to turn on and off notifications in iOS?

    【讨论】:

    • 没问题,如果用户不想收到通知,我已经在注销设备了。即使注销后,手机上的应用程序设置仍然启用通知。所以在这里用户可能会混淆设置仍然显示启用通知但在应用程序内部他已经取消注册。所以我也只想更新应用程序设置。
    • 检查更新
    • 同样,这并不建议我们如何通过代码禁用设置
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多