[英]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.