繁体   English   中英

NativeScript-如何减少iOS的应用程序图标标志编号

[英]NativeScript - how to decrement application icon badge number for iOS

使用Nativescript时,我希望能够在应用程序中执行特定操作时减少图标标志的数量。

我从以下代码开始(示例):

if (app.ios) {
  app.getNativeApplication().applicationIconBadgeNumber = 5;
}

我已经读过,对于iOS 10+,我需要获得UNUserNotificationCenter的授权。 当应用程序开始请求授权时,我尝试使用应用程序委托,但似乎无法从Nativescript访问授权类。

我试图寻找插件,但似乎找不到任何...

如果有人知道我如何才能访问Authorization api甚至通过NativeScript处理图标徽章更新,将不胜感激。

您可以使用nativescript-local-notifications来请求权限。

我取得了一些进展,在我的AppDelegate我更新为:

        appDelegate.prototype.applicationDidFinishLaunchingWithOptions = function (application, launchOptions) {
            var center = coreUtils.ios.getter(UNUserNotificationCenter, UNUserNotificationCenter.currentNotificationCenter);
            center.delegate = this; 
            const authorizationOptions = UNAuthorizationOptions.Badge;
            center.requestAuthorizationWithOptionsCompletionHandler(authorizationOptions, (granted, error) => {
                if(!error) {
                    application.applicationIconBadgeNumber = 5;
                } else {
                    console.log("Error", error);
                }
            });

现在的问题是,当我打开应用程序时, applicationIconBadgeNumber被设置为0。我能够通过戴上一个事件侦听器来测试applicationDidEnterBackground事件和设置applicationIconBadgeNumber到5当时我能够看到徽章图标。 现在,我必须弄清楚为什么applicationIconBadgeNumber在应用打开时被设置为0。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM