---
title: "show"
description: "显示一条系统通知。"
---


> 显示一条系统通知。

## 签名

```ts
KSM.notification.show(args: {
  title: string;
  body: string;
}): Promise<{ shown: boolean }>
```

## 平台与权限

| Windows | Android |权限 |
| --- | --- | --- |
|支持 |支持 | `notification.show` |

Android13 及以上还需要运行时权限 `POST_NOTIFICATIONS`。

## 参数

|参数 |类型 |必填 |说明 |
| --- | --- | --- | --- |
| `title` | `string` |是 |通知标题 |
| `body` | `string` |是 |通知正文 |

## 返回值

|字段 |类型 |说明 |
| --- | --- | --- |
| `shown` | `boolean` |系统是否接受通知 |

## 行为

- Windows 通过 `Shell_NotifyIconW` 添加或更新托盘通知图标。
- Android 创建 `kasumi` 通知渠道并发送普通通知。
- Android 没有 `POST_NOTIFICATIONS` 时返回 `PERMISSION_DENIED`。
- Android 底层发送异常可能表现为 `{ shown: false }`。
- 不支持点击回调、操作按钮或自定义图标。

## 示例

```ts
const result = await KSM.notification.show({
  title: 'Kasumi',
  body: '同步完成'
});

if (!result.shown) {
  console.info('系统没有接受通知');
}
```

## 错误

|错误 |场景 |
| --- | --- |
|普通 `TypeError` |标题或正文不是字符串 |
| `PERMISSION_DENIED` |权限未授予，或 Android 运行时权限缺失 |
| `NOT_SUPPORTED` |宿主没有配置通知服务 |
| `TIMEOUT` |宿主未在默认时间内响应 |

## 相关

- [notification 模块](/docs/kasumi/api/notification)
- [permission.request](/docs/kasumi/api/permission/request)