日志 | 说明 |
|---|---|
badgeNumber | 角标通知数量 |
requestEnableNotification错误码 | 1600004,拒绝授权 |
02-10 19:09:48.901 52431-65135 C01203/com.example.harmonyos/Ans cc.tomato...r.huawei I setBadge number:12 02-10 19:09:48.901 3716-60153 C01203/com.ohos.sceneboard/Ans com.ohos.sceneboard I BadgeChanged bundle:com.example.harmonyos,uid:20020206,badgeNum:12 02-10 19:09:48.902 3716-15393 C01203/com.ohos.sceneboard/Ans com.ohos.sceneboard I BadgeChanged bundle:com.example.harmonyos,uid:20020206,badgeNum:12 02-10 19:09:48.902 54255-64318 C01203/commonUI/Ans commonUI I BadgeChanged bundle:com.example.harmonyos,uid:20020206,badgeNum:12 02-10 19:09:48.904 54255-65138 C01203/commonUI/Ans commonUI I get badgeEnabled bundle:com.example.harmonyos,uid:20020206,code:0,enabled:0 02-10 19:09:48.904 54255-65139 C01203/commonUI/Ans commonUI I isSmartReminder code=0,status=2 02-10 19:09:48.904 54255-64951 C01203/commonUI/Ans commonUI I isNotificationEnabled bundle:com.example.harmonyos,uid:20020206,code=0,allowed=1
示例代码如下:
import { notificationManager } from '@kit.NotificationKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';
import { common } from '@kit.AbilityKit';
const TAG: string = '[PublishOperation]';
const DOMAIN_NUMBER: number = 0xFF00;
@Entry
@Component
struct Index {
badgeNumber = 10;
// step1:申请通知权限
aboutToAppear(): void {
let context = this.getUIContext().getHostContext() as common.UIAbilityContext;
notificationManager.isNotificationEnabled().then((data: boolean) => {
hilog.info(DOMAIN_NUMBER, TAG, "isNotificationEnabled success, data: " + JSON.stringify(data));
if (!data) {
notificationManager.requestEnableNotification(context).then(() => {
hilog.info(DOMAIN_NUMBER, TAG, `[ANS] requestEnableNotification success`);
}).catch((err: BusinessError) => {
if (1600004 == err.code) {
hilog.error(DOMAIN_NUMBER, TAG,
`[ANS] requestEnableNotification refused, code is ${err.code}, message is ${err.message}`);
} else {
hilog.error(DOMAIN_NUMBER, TAG,
`[ANS] requestEnableNotification failed, code is ${err.code}, message is ${err.message}`);
}
});
}
}).catch((err: BusinessError) => {
hilog.error(DOMAIN_NUMBER, TAG, `isNotificationEnabled fail, code is ${err.code}, message is ${err.message}`);
});
}
build() {
Column({ space: 20 }) {
// step2-1:增加消息数
Button('增加一条消息')
.type(ButtonType.ROUNDED_RECTANGLE)
.width(300)
.backgroundColor('#0a59f7')
.onClick(() => {
try {
let setBadgeNumberCallback = (err: BusinessError): void => {
if (err) {
hilog.error(DOMAIN_NUMBER, TAG,
`Failed to set badge number. Code is ${err.code}, message is ${err.message}`);
return;
}
};
this.badgeNumber += 1;
notificationManager.setBadgeNumber(this.badgeNumber, setBadgeNumberCallback);
} catch (err) {
}
});
// step2-1:减少消息数
Button('减少一条消息')
.width(300)
.type(ButtonType.ROUNDED_RECTANGLE)
.backgroundColor('#0a59f7')
.onClick(() => {
console.info(`Succeeded in clicking the 'Back' button.`);
try {
let setBadgeNumberCallback = (err: BusinessError): void => {
if (err) {
hilog.error(DOMAIN_NUMBER, TAG,
`Failed to set badge number. Code is ${err.code}, message is ${err.message}`);
return;
}
};
this.badgeNumber = this.badgeNumber - 1;
notificationManager.setBadgeNumber(this.badgeNumber, setBadgeNumberCallback);
} catch (err) {
}
});
}
.width('100%')
.height('100%')
.justifyContent(FlexAlign.Center);
}
}