npm i --save nativescript-plugin-badge
- 版本:1.0.0
- GitHub:
- NPM: https://npmjs.net.cn/package/nativescript-plugin-badge
- 下载
- 昨日: 0
- 上周: 4
- 上个月: 8
Nativescript-plugin-badge
此插件允许您设置徽章通知。
安装
tns plugin add nativescript-plugin-badge
屏幕截图
用法
```typescript
import {requestPremissions, setBadge, removeBadge} from 'nativescript-plugin-badge';
setBadge(5);
removeBadge();
```
使用的平台控件
Android | iOS |
---|---|
ShortcutBadger | 原生 |
API
功能 | 描述 |
---|---|
requestPremissions():Promise |
将返回用户是否授予了权限。请参阅以下描述 |
setBadge(badge:number) | 设置徽章 |
removeBadge() | 清除徽章 |
applyNotification(notification: Notification, badge: number, channelId?: string) | 请参阅以下描述 |
支持的设备(Android)
请检查所使用的库。
权限
权限仅在 iOS 中需要,在 Android 中,promise 总是解析为 true。请注意,如果您已经使用了如 Firebase、本地通知 等插件处理权限,则无需再次调用此函数。
小米(小米设备)支持
由于小米从 Miui 6 开始更改了显示徽章的方式。
setBadge
将不支持小米设备。
如果您想支持小米的徽章,则必须发送通知。并使用
applyNotification({title:'title',body:'body'}, 5, 'channel id');
channelId 是一个可选参数,仅适用于 API 级别 26。并且还需要您设置 频道。请参阅此示例。
缺点
Android 中使用的 ShortcutBadger 使用 MainActivity 名称来识别应用程序。这将使所有使用默认活动('com.tns.NativeScriptActivity')的 Nativescript 应用程序都被设置。这就是 Android 屏幕截图中的原因 -- 所有 Nativescript 应用程序都具有相同的徽章 5。解决方案是使用自定义主活动,如此处所述