HarmonyOS鸿蒙Next中系统权限申请弹窗,点击禁止之后,立刻弹全局弹窗,全局弹窗没报错但没办法展示出来

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

HarmonyOS鸿蒙Next中系统权限申请弹窗,点击禁止之后,立刻弹全局弹窗,全局弹窗没报错但没办法展示出来 系统权限申请弹窗,点击禁止之后,立刻弹全局弹窗,全局弹窗没报错但没办法展示出来

3 回复

可以通过增加setTimeout延时执行一下

  requestPermission() {
    let atManager = abilityAccessCtrl.createAtManager();
    try {
      let context: Context = getContext(this) as common.UIAbilityContext;
      atManager.requestPermissionsFromUser(context, ["ohos.permission.CAMERA"]).then((data) => {
        let grantStatus: Array<number> = data.authResults;
        //延时执行弹窗
        setTimeout(() => {
          promptAction.openCustomDialog({
            builder: TestDialog.bind(this)
          }).then((dialogId: number) => {
            customDialogId = dialogId
          })
        }, 500)
      }).catch((err: BusinessError) => {
        console.info("data:" + JSON.stringify(err));
      })
    } catch (err) {
      console.log(`catch err->${JSON.stringify(err)}`);
    }
  }

更多关于HarmonyOS鸿蒙Next中系统权限申请弹窗,点击禁止之后,立刻弹全局弹窗,全局弹窗没报错但没办法展示出来的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,系统权限申请弹窗点击“禁止”后,立即触发全局弹窗,但全局弹窗未报错却无法展示,可能是以下原因:

  1. 系统权限被拒绝后,应用未正确处理权限状态,导致全局弹窗调用时机或条件不满足。

  2. 全局弹窗的显示逻辑或布局可能存在问题,如未正确设置弹窗的上下文或窗口类型。

  3. 系统资源或内存管理机制可能限制了弹窗的显示。

  4. 应用生命周期管理不当,全局弹窗可能在后台被系统回收或阻止显示。

需检查权限处理逻辑、弹窗显示代码及系统日志,进一步定位问题。

在HarmonyOS鸿蒙Next中,如果系统权限申请弹窗点击“禁止”后,全局弹窗无法展示,可能是由于以下原因:

  1. 全局弹窗的优先级或显示逻辑未正确配置;
  2. 权限被禁止后,部分UI渲染被限制。

建议检查弹窗的显示逻辑,确保在权限被拒绝后,弹窗依然能正常触发并展示。同时,确保应用在权限被拒绝后,仍具备必要的UI渲染权限。

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