[文章]HarmonyOS原子化服务开发实战-卡片刷新图片问题记录

阅读量0
0
3
在卡片开发过程中,采用文档的方法显示图片到JS卡片上一直失败,下方是相关代码:
  1. //更新卡片
  2. private void UpdataFormIma(){
  3.     HiLog.info(TAG, "更新卡片图片");
  4.     try{
  5.                
  6.          //定义数据能力帮助对象
  7.         DataAbilityHelper helper = DataAbilityHelper.creator(getContext());

  8.         FileInputStream inputStream = null;

  9.         inputStream = new FileInputStream(helper.openFile(uri, "r"));

  10.         byte[] bytes = readInputStream(inputStream);

  11.         ZSONObject result = new ZSONObject();

  12.         FormBindingData formBindingData = new FormBindingData(result);

  13.         if (bytes != null && bytes.length != 0) {

  14.             String picName = new Date().getTime() + ".png";
  15.             String picPath = "memory://" + picName;
  16.             assert result != null;
  17.             result.put("avatarIma", picPath);
  18.             formBindingData.addImageData(picName, bytes);
  19.         }
  20.         if (this instanceof Ability) {
  21.             for (CardDataTable formtable : getFormId()) {
  22.                 updateForm(formtable.getFormId(), formBindingData);
  23.             }
  24.         }
  25.     }catch (Exception e){
  26.         HiLog.error(TAG,"不存在");
  27.     }
  28. }
复制代码

之后在一篇文章上看到,卡片刷新图片的方式是回到桌面才进行刷新,所以我在页面的onStop()和onTonInactive()方法上调用卡片刷新的代码,这样将图片显示到桌面卡片上。

回帖

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。 侵权投诉
链接复制成功,分享给好友