HarmonyOS鸿蒙Next中可以通过api开启免打扰模式吗
HarmonyOS鸿蒙Next中可以通过api开启免打扰模式吗 是否有相关的api可以实现这个功能
2 回复
您好,可以采取以下方式解决:
通常跳转系统应用的场景有两类:**跳转系统设置的各级页面**以及**跳转其他系统应用**。
- 跳转**系统设置的各级页面**Want参数需指定bundleName与abilityName,如需跳转设置相关子页面,除了指定bundleName与abilityName外,通常还需要填写对应uri与parameters,如下表格给出了常用各类设置子页面的uri与parameters配置信息:
| 页面 | bundleName | abilityName | uri | parameters |
|------|------------|-------------|-----|------------|
| WLAN页 | com.huawei.hmos.settings | com.huawei.hmos.settings.MainAbility | wifi_entry | / |
| 蓝牙页 | com.huawei.hmos.settings | com.huawei.hmos.settings.MainAbility | bluetooth_entry | / |
| 位置页 | com.huawei.hmos.settings | com.huawei.hmos.settings.MainAbility | location_manager_settings | / |
| 指定应用信息页 | com.huawei.hmos.settings | com.huawei.hmos.settings.MainAbility | application_info_entry | APPbundleName |
| 应用与元服务页 | com.huawei.hmos.settings | com.huawei.hmos.settings.MainAbility | application_info_entry | / |
| 声音和振动 | com.huawei.hmos.settings | com.huawei.hmos.settings.MainAbility | volume_settings | / |
注:"/"代表无需配置;"APPbundleName"为指定应用的bundleName,获取方式可参考[官网](https://developer.huawei.com/consumer/cn/doc/harmonyos-faqs/faqs-package-structure-26)。
跳转系统设置页及子页面可参考如下代码进行配置:
```typescript
// 跳转系统设置页及子页面配置参考
let want: Want = {
bundleName: "com.huawei.hmos.settings",
abilityName: "com.huawei.hmos.settings.MainAbility",
uri:"xxxx",
parameters: {
pushParams: "xxxxx"
}
}
context.startAbility(want)
// 跳转到设置的声音和振动;包含铃声、声音模式、免打扰等
let want: Want = {
bundleName: 'com.huawei.hmos.settings',
abilityName: 'com.huawei.hmos.settings.MainAbility',
uri: "volume_settings",
parameters: {
// 传对应应用的包名
pushParams: 'com.example.gotosettings'
}
};
context.startAbility(want)
- 跳转其他系统应用,例如浏览器、应用市场、短信、联系人、文件管理器等,Want参数配置情况各有不同,各类系统应用Want相关配置可参考如下表格:
应用 | action | bundleName | abilityName | uri | parameters |
---|---|---|---|---|---|
浏览器 | ohos.want.action.viewData | com.huawei.hmos.browser | MainAbility | 需自行构建,可参考下列代码 | / |
文件管理器 | / | com.huawei.hmos.filemanager | MainAbility | / | / |
短信 | / | com.ohos.mms | com.ohos.mms.MainAbility | / | 需自行构建,可参考下列代码 |
联系人 | / | com.ohos.contacts | com.ohos.contacts.MainAbility | / | 需自行构建,可参考下列代码 |
应用市场 | / | / | / | store://appgallery.huawei.com/app/detail?id=C${APPID} | / |
注:"/"代表无需配置;"APPID"为应用在AGC上对应的APPID
代码参考如下:
// 跳转浏览器并传递参数
let want: Want = {
action: "ohos.want.action.viewData", // 表示要执行操作
bundleName: 'com.huawei.hmos.browser', // 系统浏览器对应bundleName
abilityName: 'MainAbility', // 系统浏览器对应abilityName
uri: "https://www.huawei.com/", // 传递的参数
}
// 跳转应用市场指定应用
let want: Want = {
uri: "store: // appgallery.huawei.com/app/detail?id=C+应用在应用商城的ID"
}
// 跳转短信并传递参数
export class Contact { // 构造联系人
contactsName: string;
telephone: number;
constructor(contactsName: string, telephone: number) {
this.contactsName = contactsName;
this.telephone = telephone;
}
}
let params: Array<Object> = [new Contact("张三", 12345678912)]
let want:Want = {
bundleName: 'com.ohos.mms', // 短信对应的bundleName
abilityName: 'com.ohos.mms.MainAbility', // 短信对应的abilityName
parameters: {
contactObjects: JSON.stringify(params), // 联系人信息
content:"xxxxxxxxxx", // 短信内容
pageFlag: 'conversation'
}
}
// 跳转联系人并传递参数
let want: Want = {
bundleName: 'com.ohos.contacts',
abilityName: 'com.ohos.contacts.MainAbility',
parameters: {
'phoneNumber': 'xxxxxxx', // 需新增联系人电话
'contactName': 'xxxx', // 需新增联系人姓名
'pageFlag': 'page_flag_save_contact'
}
}
// 跳转文件管理器
let want: Want = {
bundleName: 'com.huawei.hmos.filemanager',
abilityName: 'MainAbility',
}
let context = getContext(this) as common.UIAbilityContext
context.startAbility(want)
更多关于HarmonyOS鸿蒙Next中可以通过api开启免打扰模式吗的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS鸿蒙Next中,可以通过NotificationManager
类的setDoNotDisturbMode
方法来开启免打扰模式。具体实现如下:
NotificationManager notificationManager = getSystemService(NotificationManager.class);
notificationManager.setDoNotDisturbMode(NotificationManager.DO_NOT_DISTURB_MODE_ALARMS);
此代码将设备设置为仅允许闹钟通知的免打扰模式。你可以根据需要调整模式参数,如DO_NOT_DISTURB_MODE_NONE
(关闭免打扰)或DO_NOT_DISTURB_MODE_PRIORITY
(仅允许优先通知)。