AutoJs6

- Overview - 综述
- About - 关于文档
- Progress - 文档部署进度
- Changelog - 文档更新日志

- Manual - AutoJs6 使用手册
- Q & A - 疑难解答

- Global - 全局对象
- Automator - 自动化
- AutoJs6 - 本体应用
- App - 通用应用
- Color - 颜色
- Image - 图像
- OCR - 光学字符识别
- Barcode - 条码
- QR Code - 二维码
- Keys - 按键
- Device - 设备
- Storage - 储存
- File - 文件
- Engine - 引擎
- Task - 任务
- Module - 模块
- Plugins - 插件
- Toast - 消息浮动框
- Notice - 消息通知
- Console - 控制台
- Shell
- Shizuku
- Media - 多媒体
- Sensor - 传感器
- Recorder - 记录器
- Timer - 定时器
- Thread - 线程
- Continuation - 协程
- Event - 事件监听
- Dialog - 对话框
- Floaty - 悬浮窗
- Canvas - 画布
- UI - 用户界面
- Web - 万维网
- HTTP
- Base64
- Crypto - 密文
- OpenCC - 中文转换
- Internationalization - 国际化
- Standardization - 标准化
- E4X

- UiSelector - 选择器
- UiObject - 控件节点
- UiObjectCollection - 控件集合
- UiObjectActions - 控件节点行为
- WebSocket
- EventEmitter - 事件发射器
- ImageWrapper - 包装图像类
- App - 应用枚举类
- Color - 颜色类
- Version - 版本工具类
- Polyfill - 代码填泥
- Arrayx - Array 扩展
- Numberx - Number 扩展
- Mathx - Math 扩展

- Exceptions - 异常
- Intent - 意图
- Runtime - 运行时
- Context - 上下文
- Activity - 活动

- Scripting Java - 脚本化 Java
- Android API Level - 安卓 API 级别
- Color Table - 颜色列表

- Glossaries - 术语
- HttpHeader - HTTP 标头
- HttpRequestMethods - HTTP 请求方法
- MimeType - MIME 类型
- NotificationChannel - 通知渠道

- Data Types - 数据类型
- Omnipotent Types - 全能类型
- Storage - 存储类
- AndroidBundle
- AndroidRect
- CryptoCipherOptions
- CryptoKey
- CryptoKeyPair
- ConsoleBuildOptions
- HttpRequestBuilderOptions
- HttpRequestHeaders
- HttpResponseBody
- HttpResponseHeaders
- HttpResponse
- InjectableWebClient
- InjectableWebView
- NoticeOptions
- NoticeChannelOptions
- NoticePresetConfiguration
- NoticeBuilder
- Okhttp3HttpUrl
- OcrOptions
- Okhttp3Request
- OpenCVPoint
- OpenCVRect
- OpenCVSize
- OpenCCConversion

- GitHub - 应用项目地址
- GitHub - 文档项目地址

# NoticeChannelOptions#

NoticeChannelOptions 是一个发送 AutoJs6 通知时用于设置 渠道 的接口.
这些设置将一次性作为初始值应用到指定的渠道上.

常见相关方法或属性:

- notice.channel.create(channelId, options)
- notice.channel.create(options)

NoticeChannelOptions

## [p?] id#

- { string | number } - 渠道 ID

通知渠道使用 `渠道 ID (Channel ID)` 作为唯一标识, `id` 属性可指定当前发送通知的渠道 ID.

相同渠道 ID 的所有通知, 都共享同一个渠道配置.

渠道 ID 不会在通知消息中体现, 也不会在 AutoJs6 的通知设置页面体现, 它仅用于在编写程序时关联唯一的通知渠道.

当 `id` 不指定时, 其默认值的情况取决于 config.useScriptNameAsDefaultChannelId 配置值.
配置值为 `true` 时, 渠道将以脚本文件全名进行创建和管理, 否则渠道将不作区分进行全局统一创建和管理.

    /* 指定渠道 ID. */

    notice.channel.create({ id: 'exercies' });
    notice('message', { channelId: 'exercise' }); /* 在 exercise 渠道上发送通知. */

    /* 不指定渠道 ID */

    /* 1. useScriptNameAsDefaultChannelId 启用 (默认). */
    notice.config({ useScriptNameAsDefaultChannelId: true });
    notice('message'); /* 在 ID 为当前脚本文件全名的渠道上发送通知. */

    /* 2. useScriptNameAsDefaultChannelId 禁用. */
    notice.config({ useScriptNameAsDefaultChannelId: false });
    notice('message'); /* 在 ID 为内置固定值 "script_channel" 的渠道上发送通知. */

## [p?] name#

- { string } - 渠道名称

设置通知渠道的名称, 用于辅助用户识别不同的渠道.

渠道名称不会出现在通知消息中, 而是出现在 AutoJs6 的通知设置中:

上述示例图片中, [ "互联网", "脚本通知", "屏幕捕获器前台服务" ] 等作为渠道名称, 便于用户区分不同的通知渠道.

渠道 ID 是唯一的, 但渠道名称可能重复:

上述示例图片中出现了名称相同的通知渠道 ("互联网"), 但它们拥有不同的渠道 ID.

当 `name` 不指定时, 其默认值的情况取决于 config.defaultChannelName 配置值.

    /* 创建一个名称为 "Network" 的渠道. */
    notice.channel.create({ name: 'Network' });

## [p?] description#

- { string } - 渠道描述

设置通知渠道的描述, 用于辅助用户了解渠道的用途等信息.

渠道描述不会出现在通知消息中, 而是出现在 AutoJs6 通知设置的渠道条目中:

上述示例图片中, "所有来自互联网的文本消息" 作为渠道描述, 便于用户了解渠道用途.

当 `description` 不指定时, 其默认值的情况取决于 config.defaultChannelDescription 配置值.

    /* 创建一个描述为 "Messages from network" 的渠道. */
    notice.channel.create({ description: 'Messages from network' });

## [p?] importance#

- [ 'high' ] { number | `'default'` | `'high'` | `'low'` | `'max'` | `'min'` | `'none'` | `'unspecified'` } - 渠道的通知重要性级别

设置通知渠道的通知重要性级别.

此选项会影响渠道内通知消息发出时的行为, 包括振动和提醒提示音等.

`importance` 参数接收由整形常量转化而来的字符串简化形式:

字符串 | 整形常量 | 简述
--- | --- | ---
'none' | NotificationManager.IMPORTANCE_NONE = 0 | 无重要性. 通知不会出现在遮罩层.
'min' | NotificationManager.IMPORTANCE_MIN = 1 | 最低重要性.
'low' | NotificationManager.IMPORTANCE_LOW = 2 | 低重要性. 遮罩层或状态栏显示通知, 无声音干扰.
'default' | NotificationManager.IMPORTANCE_DEFAULT = 3 | 默认重要性. 显示通知, 发出声音, 但无视觉干扰.
'high' | NotificationManager.IMPORTANCE_HIGH = 4 | 高重要性. 显示通知, 发出声音, 浮动通知.
'max' | NotificationManager.IMPORTANCE_MAX = 5 | 最高重要性.
'unspecified' | NotificationManager.IMPORTANCE_UNSPECIFIED = -1000 | 未指定重要性. 由系统决定通知行为.

以下示例将创建一个默认为关闭状态的通知渠道, 创建后需用户手动开启后才能显示发送到此渠道的通知:

    notice.channel.create('channel_with_importance_none', {
        importance: 'none',
    });

当 `importance` 不指定时, 其默认值的情况取决于 config.defaultImportanceForChannel 配置值.

## [p?] enableVibration#

- [ false ] { boolean } - 渠道振动状态

设置通知渠道的振动状态.

当 `enableVibration` 不指定时, 其默认值的情况取决于 config.defaultEnableVibrationForChannel 配置值.

## [p?] vibrationPattern#

- [ null ] { OmniVibrationPattern } - 渠道振动模式

设置通知渠道的振动模式.

当 `vibrationPattern` 不指定时, 其默认值的情况取决于 config.defaultEnableVibrationForChannel 配置值.

## [p?] enableLights#

- [ null ] { boolean } - 是否启用渠道的通知指示灯

设置通知渠道是否启用通知指示灯.

当 `enableLights` 不指定时, 其默认值的情况取决于 config.defaultEnableLightsForChannel 配置值.

## [p?] lightColor#

- [ null ] { OmniColor } - 渠道的通知指示灯颜色

设置通知渠道的通知指示灯颜色.

当 `lightColor` 不指定时, 其默认值的情况取决于 config.defaultLightColorForChannel 配置值.

## [p?] lockscreenVisibility#

- [ `'public'` ] { number | `'public'` | `'private'` | `'secret'` | `'no_override'` } - 渠道的通知可见详情级别

设置锁定屏幕中当前渠道的通知可见详情级别.

当 `lockscreenVisibility` 不指定时, 其默认值的情况取决于 config.defaultLockscreenVisibilityForChannel 配置值.

`lockscreenVisibility` 参数接收由整形常量转化而来的字符串简化形式:

字符串 | 整形常量 | 简述
--- | --- | ---
'public' | NotificationCompat.VISIBILITY_PUBLIC = 1 | 显示通知完整内容.
'private' | NotificationCompat.VISIBILITY_PRIVATE = 0 | 仅显示基本信息 (图标/内容/标题等).
'secret' | NotificationCompat.VISIBILITY_SECRET = -1 | 不显示该通知任何部分.
'no_override' | NotificationManager.VISIBILITY_NO_OVERRIDE = -1000 | 用户未指定 (由系统决定).