HarmonyOS SaveButton组件报TEMPORARY_AUTHORIZATION_FAILED授权失败

尝试使用SaveButton获得短暂授权保存图片数据,一直提示TEMPORARY_AUTHORIZATION_FAILED授权失败,请问如何正确使用SaveButton,需要什么额外配置吗?

代码和demo基本一致。

// 默认参数下,图标、文字、背景都存在 
SaveButton().onClick(async (event:ClickEvent, result:SaveButtonOnClickResult) => { 
  if (result == SaveButtonOnClickResult.SUCCESS) { 
    try { 
      const context = getContext(this); 
      let helper = photoAccessHelper.getPhotoAccessHelper(context); 
      // onClick触发后10秒内通过createAsset接口创建图片文件,10秒后createAsset权限收回。 
      let uri = await helper.createAsset(photoAccessHelper.PhotoType.IMAGE, 'png'); 
      // 使用uri打开文件,可以持续写入内容,写入过程不受时间限制 
      let file = await fs.open(uri, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE); 
      // 写入文件 
      await fs.write(file.fd, "context"); 
      // 关闭文件 
      await fs.close(file.fd); 
    } catch (error) { 
      console.error("error is "+ JSON.stringify(error)); 
    } 
  } 
})

https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-security-components-savebutton-V5

HarmonyOS
2024-11-13 11:09:35
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
zbw_apple
// 使用uri打开文件,可以持续写入内容,写入过程不受时间限制 
let file = await fs.open(uri, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE);

这个是需要对应权限的,需要在modules.json5中定义对应的权限。

{ 
  "name": "ohos.permission.WRITE_MEDIA", 
"reason": "$string:EntryAbility_desc", 
"usedScene": { 
  "abilities": [ 
  "EntryAbility" 
  ], 
  "when": "always" 
} 
}
分享
微博
QQ
微信
回复
2024-11-13 16:11:36
相关问题
HarmonyOS SaveButton 申请临时权限失败
399浏览 • 1回复 待解决
HarmonyOS SaveButton只显示图片
386浏览 • 1回复 待解决
OpenHarmony提示同步失败:sync Failed
3724浏览 • 1回复 待解决
使用SaveButton保存图片的方式
621浏览 • 1回复 待解决
HarmonyOS web组件加载url失败
437浏览 • 1回复 待解决
定位授权 直接提示用户拒绝授权
356浏览 • 1回复 待解决
HarmonyOS ESObjectWARN
480浏览 • 1回复 待解决
HarmonyOS Tabs组件做沉浸式失败
382浏览 • 1回复 待解决
HarmonyOS 引用so库
55浏览 • 1回复 待解决
HarmonyOS IAP调createPurchase1001860001
224浏览 • 1回复 待解决
如何申请组合授权权限?
422浏览 • 1回复 待解决