HarmonyOS 异步操作中不显示设置了显示于应用之上的toast

  1. 自定义了toast,设置了showMode: promptAction.ToastShowMode.TOP_MOST属性,使toast可以显示于应用之上;
  2. 在异步操作中,调用toast,无法显示,去除showMode: promptAction.ToastShowMode.TOP_MOST可以正常显示。
HarmonyOS
2024-12-20 15:18:51
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
shlp

promptAction模块功能依赖UI的执行上下文,不可在UI上下文不明确的地方使用。可以通过使用UIContext中的getPromptAction方法获取当前UI上下文关联的PromptAction对象。

详细情况请查看:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-promptaction-V5#showtoastoptions

针对此情况可参考:

//  index.ets
private getVersionInfo() {
  bundleManager.getBundleInfoForSelf(bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_APPLICATION)
    .then((bundleInfo) => {
      let promptActionData = this.getUIContext().getPromptAction();
      showToast(promptActionData,bundleInfo.versionName)
    }).catch((error: string) => {
    console.error("获取版本号异常:" + error)
  })
}
//ComponentUtil.ets
import promptAction from '@ohos.promptAction';
import { PromptAction } from '@kit.ArkUI';
/**

 duration 显示时间3S
 @param msg

 */
export function showToast(promptActionData: PromptAction,msg: string | Resource) {
  promptActionData.showToast({
    message: msg,
    duration: 3000,
    bottom:"center",
    showMode: promptAction.ToastShowMode.TOP_MOST
  });
}
分享
微博
QQ
微信
回复
2024-12-20 17:20:25
相关问题
HarmonyOS toast不显示问题
199浏览 • 1回复 待解决
HarmonyOS 应用图标不显示
471浏览 • 1回复 待解决
HarmonyOS 应用退到后台显示toast方案
1041浏览 • 1回复 待解决
HarmonyOS 应用使用iconfont不显示
348浏览 • 1回复 待解决
HarmonyOS CustomDialogController 不显示
791浏览 • 1回复 待解决
如何设置swiper指示器不显示
1231浏览 • 1回复 待解决
HarmonyOS 如果显示类似Toast提示
633浏览 • 2回复 待解决
HarmonyOS webloadData不显示内容
244浏览 • 1回复 待解决
HarmonyOS RelativeContainer内控件不显示
222浏览 • 1回复 待解决
HarmonyOS Web组件不显示图片
238浏览 • 1回复 待解决
HarmonyOS push通知不显示图片
223浏览 • 1回复 待解决
HarmonyOS web组件alert不显示
1336浏览 • 1回复 待解决