HarmonyOS 鸿蒙Next读取不到系统剪切板内容

HarmonyOS 鸿蒙Next读取不到系统剪切板内容

读取不到系统剪切板内容 在aboutToAppear()方法中,通过systemPasteboard.getDataSync().getPrimaryText()方法可以获取到系统剪切板中的内容。但是相同的方法放在NavDestination的onShown()方法中执行,读取的系统剪切板内容却是空字符串。

aboutToAppear(): void {
  setTimeout(() => {
    this.isPromptForTransfer();
  }, 1500);
}

private async isPromptForTransfer(): Promise<void> {
  let abilityManager: abilityAccessCtrl.AtManager = abilityAccessCtrl.createAtManager();
  let tokenId: number = bundleManager.getBundleInfoForSelfSync(bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_APPLICATION).appInfo.accessTokenId;
  
  let granted = abilityManager.verifyAccessTokenSync(tokenId, 'ohos.permission.READ_PASTEBOARD');
  
  if (granted == abilityAccessCtrl.GrantStatus.PERMISSION_GRANTED) {
    // 用户已同意读取剪切板授权,则读取剪切板中的内容
    let systemPasteboard: pasteboard.SystemPasteboard = pasteboard.getSystemPasteboard();
    let clip = systemPasteboard.getDataSync().getPrimaryText();
    Logger.debug(`clip is : ${clip}`);
  }
}

build() {
  NavDestination() {
    // 其他代码可以放在这里
  }
  .onShown(() => {
    setTimeout(() => {
      this.isPromptForTransfer();
    }, 1500);
  });
}

更多关于HarmonyOS 鸿蒙Next读取不到系统剪切板内容的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

确认一下

  1. 复制的时候调用的什么api?

  2. 系统剪贴板支持对文本、HTML、URI、Want、PixelMap等内容的操作。getPrimaryText只能获取首个条目的纯文本内容。

检查一下复制的内容是否符合规范,谢谢!

调试确认一下获取剪切板为空时,是否有剪切权限,谢谢!

使用了next.0.0.68版本真机,使用备忘录功能,未能复现备忘录中内容复制到剪切板异常的情况,点击"来自剪切板",左侧的图标可以查看剪切板的内容,把显示空白的那个删除了再复制试试

更多关于HarmonyOS 鸿蒙Next读取不到系统剪切板内容的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


针对HarmonyOS 鸿蒙Next读取不到系统剪切板内容的问题,可能的原因及解决方法如下:

  1. 权限问题

    • 确保应用已获取读取剪切板内容的权限。在鸿蒙系统中,应用需要用户明确授权才能访问剪切板数据。请检查应用权限设置,确保已开启相关权限。
  2. 剪切板内容格式

    • 检查剪切板中的内容格式是否与应用期望的格式一致。如果剪切板中的数据类型与应用尝试读取的类型不匹配,可能导致读取失败。
  3. 系统API调用

    • 确保应用正确使用了鸿蒙系统提供的API来读取剪切板内容。API的使用方式可能因系统版本而异,请参考最新的鸿蒙开发文档进行确认。
  4. 系统Bug或限制

    • 某些情况下,系统本身的Bug或限制可能导致剪切板功能异常。此时,可以尝试更新系统到最新版本,或者查看鸿蒙系统的官方问题跟踪平台,看是否有其他用户报告了相同的问题。

如果以上方法均无法解决问题,可能是系统或应用层面的更深层次问题。此时,建议联系鸿蒙系统的官方客服以获取进一步的帮助。官网客服地址是:https://www.itying.com/category-93-b0.html 如果问题依旧没法解决请联系官网客服。

回到顶部