通知还是比价简单的,很容易就实现。

首先,实现一个NotificationSlot,用来设置通知的方式和等级

    private NotificationSlot slot;
    private void initNotificationSlot() {
        slot = new NotificationSlot("slot_001","slot_default", NotificationSlot.LEVEL_MIN); // 创建notificationSlot对象
        slot.setDescription("NotificationSlotDescription");
        slot.setEnableVibration(true); // 设置振动提醒
        slot.setLockscreenVisibleness(NotificationRequest.VISIBLENESS_TYPE_PUBLIC);//设置锁屏模式
        slot.setEnableLight(true); // 设置开启呼吸灯提醒
        slot.setLedLightColor(Color.RED.getValue());// 设置呼吸灯的提醒颜色
        try {
            NotificationHelper.addNotificationSlot(slot);
        } catch (RemoteException ex) {
            HiLog.warn(LABEL, "addNotificationSlot occur exception.");
        }
    }

然后就可以定义一个通知,并发布:

    private int notificationId=1;
    private void publishNotification() {
        NotificationRequest request = new NotificationRequest(notificationId);
        request.setSlotId(slot.getId());
        String title = "机密信息";
        String text = "有内鬼,停止交易";
        NotificationRequest.NotificationNormalContent content = new NotificationRequest.NotificationNormalContent();
        content.setTitle(title)
                .setText(text);
        NotificationRequest.NotificationContent notificationContent = new NotificationRequest.NotificationContent(content);
        request.setGroupValue("群组信息");
        request.setProgressBar(20,100,true);
        request.setContent(notificationContent); // 设置通知的内容

        try {
            NotificationHelper.publishNotification(request);
        } catch (RemoteException ex) {
            HiLog.warn(LABEL, "publishNotification occur exception.");
        }
    }

还可以取消这个通知:

    private void cancelNotification() {
        try {
            NotificationHelper.cancelNotification(notificationId);
        } catch (RemoteException ex) {
            HiLog.warn(LABEL, "cancelNotification occur exception.");
        }
    }

鸿蒙的通知有很多样式,可以设置图标,时间,倒计时,图片,按钮,具体参考官方文档。

Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐