HarmonyOS鸿蒙Next中promptAction.showToast()如何在桌面显示?

发布于 1周前 作者 yuanlaile 来自 鸿蒙OS

HarmonyOS鸿蒙Next中promptAction.showToast()如何在桌面显示? promptAction.showToast()如何在桌面显示?

3 回复

应用退出时,打开的toast会跟随组件的销毁而销毁,无法保留,所以promptAction.showToast()无法在桌面显示

您可以使用notificationManager :进行通知

//EntryAbility.ets
import AbilityConstant from '@ohos.app.ability.AbilityConstant';
import hilog from '@ohos.hilog';
import UIAbility from '@ohos.app.ability.UIAbility';
import Want from '@ohos.app.ability.Want';
import { window } from '@ohos.window';
import { notificationManager } from '@kit.NotificationKit';
import { promptAction } from '@kit.ArkUI';

export default class EntryAbility extends UIAbility {
  onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void {
    hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onCreate');
  }
  // 通知方法
  publishNotification(){
    let notificationRequest: notificationManager.NotificationRequest = { // 描述通知的请求
      id: 1, // 通知ID
      content: { // 通知内容
        notificationContentType: notificationManager.ContentType.NOTIFICATION_CONTENT_BASIC_TEXT, // 普通文本类型通知
        normal: { // 基本类型通知内容
          title: '应用名称',
          text: '应用在后台运行'
        },

      },
      notificationSlotType: notificationManager.SlotType.SOCIAL_COMMUNICATION,
    }
    notificationManager.publish(notificationRequest).then(() => { // 发布通知
      console.info('publish success');
    }).catch((err: Error) => {
      console.error(`publish failed,message is ${err}`);
    });
  }


  onDestroy(): void {
    hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onDestroy');
  }

  onWindowStageCreate(windowStage: window.WindowStage): void {
    // Main window is created, set main page for this ability
    hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onWindowStageCreate');

    windowStage.loadContent('pages/Index', (err, data) => {
      if (err.code) {
        hilog.error(0x0000, 'testTag', 'Failed to load the content. Cause: %{public}s', JSON.stringify(err) ?? '');
        return;
      }
      hilog.info(0x0000, 'testTag', 'Succeeded in loading the content. Data: %{public}s', JSON.stringify(data) ?? '');
    });
  }

  onWindowStageDestroy(): void {
    // Main window is destroyed, release UI related resources
    hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onWindowStageDestroy');
  }

  onForeground(): void {
    // Ability has brought to foreground
    hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onForeground');
  }

  onBackground(): void {
    // 通知
    this.publishNotification()
    hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onBackground');
  }
}

参考链接:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V13/js-apis-notificationmanager-V13#notificationmanagerpublish

更多关于HarmonyOS鸿蒙Next中promptAction.showToast()如何在桌面显示?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,promptAction.showToast()用于在屏幕上显示短暂的提示信息。要在桌面显示Toast,首先确保你的应用已经获取了必要的权限,并且在一个合适的上下文中调用该方法。以下是一个简单的示例代码:

import promptAction from '@ohos.promptAction';

// 在需要显示Toast的地方调用
promptAction.showToast({
  message: '这是一个Toast提示',
  duration: 2000 // 持续时间,单位毫秒
});

在鸿蒙系统中,showToast方法会在当前应用的上下文中显示Toast,因此如果要在桌面上显示Toast,需要在桌面应用的上下文中执行该方法。确保你的应用已经正确配置了桌面相关的权限和上下文环境。

需要注意的是,Toast的显示位置和样式可能会受到系统UI的限制,具体表现可能因设备或系统版本的不同而有所差异。

在HarmonyOS鸿蒙Next中,使用promptAction.showToast()方法可以在桌面显示短暂的消息提示。你需要在代码中调用该方法,并传入要显示的文本内容和持续时间。例如:

import promptAction from '@ohos.promptAction';

promptAction.showToast({
  message: 'Hello, HarmonyOS!',
  duration: 2000 // 单位为毫秒,2000表示2秒
});

此代码会在桌面上显示“Hello, HarmonyOS!”的提示消息,持续2秒钟。确保在HarmonyOS开发环境中正确导入promptAction模块。

回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!