为什么我在将贴纸包添加到 WhatsApp 时收到“fd 不能为空”验证错误?

问题描述

我正在创建一个 android 应用程序,用于向 WhatsApp 添加自定义贴纸。我已关注 this example,但在向 WhatsApp 添加贴纸时会显示一个错误对话框,其中包含消息 “此贴纸包存在一些问题,无法将其添加到 Whatsap”。我在活动结果上得到的验证错误“fd 不能为空”。我无法找到此错误的原因。在这种情况下,FD 是什么?

我尝试过的: - 我尝试添加了publisherEmail、website 等所有字段,但仍然出现此错误

-对于托盘图像,我在我的资产文件夹中添加一个 webp 图标,并在托盘图像文件字段中提供了它的名称

要求: - 我从 firebase 获取自定义贴纸包应该添加到 WhatsApp 中,包括普通和动画。

这是从我的项目创建的json文件

[
  {
    "androidplayStoreLink":"i have added valid playstore link here removed purposely here","animatedStickerPack":false,"avoidCache":false,"identifier":"50016","imageDataVersion":"","index":"0","isCustom":false,"isPremimmum":false,"isWhitelisted":false,"licenseAgreementWebsite":"","name":"Thanks","privacyPolicyWebsite":"","publisher":"TEST CONTENT","publisherEmail":"1","publisherWebsite":"","stickerMode":0,"stickers":[
      {
        "emojis":[

        ],"imageFileName":"500161","size":0,"uri":"file:///data/user/0/com.example.myapppackagename/files/50016/500161.webp"
      },{
        "emojis":[

        ],"imageFileName":"500162","uri":"file:///data/user/0/com.example.myapppackagename/files/50016/500162.webp"
      },"imageFileName":"500163","uri":"file:///data/user/0/com.example.myapppackagename/files/50016/500163.webp"
      },"imageFileName":"500164","uri":"file:///data/user/0/com.example.myapppackagename/files/50016/500164.webp"
      },"imageFileName":"500165","uri":"file:///data/user/0/com.example.myapppackagename/files/50016/500165.webp"
      },"imageFileName":"500166","uri":"file:///data/user/0/com.example.myapppackagename/files/50016/500166.webp"
      },"imageFileName":"500167","uri":"file:///data/user/0/com.example.myapppackagename/files/50016/500167.webp"
      },"imageFileName":"500168","uri":"file:///data/user/0/com.example.myapppackagename/files/50016/500168.webp"
      },"imageFileName":"500169","uri":"file:///data/user/0/com.example.myapppackagename/files/50016/500169.webp"
      },"imageFileName":"5001610","uri":"file:///data/user/0/com.example.myapppackagename/files/50016/5001610.webp"
      },"imageFileName":"5001611","uri":"file:///data/user/0/com.example.myapppackagename/files/50016/5001611.webp"
      },"imageFileName":"5001612","uri":"file:///data/user/0/com.example.myapppackagename/files/50016/5001612.webp"
      },"imageFileName":"5001613","uri":"file:///data/user/0/com.example.myapppackagename/files/50016/5001613.webp"
      },"imageFileName":"5001614","uri":"file:///data/user/0/com.example.myapppackagename/files/50016/5001614.webp"
      },"imageFileName":"5001615","uri":"file:///data/user/0/com.example.myapppackagename/files/50016/5001615.webp"
      },"imageFileName":"5001616","uri":"file:///data/user/0/com.example.myapppackagename/files/50016/5001616.webp"
      },"imageFileName":"5001617","uri":"file:///data/user/0/com.example.myapppackagename/files/50016/5001617.webp"
      },"imageFileName":"5001618","uri":"file:///data/user/0/com.example.myapppackagename/files/50016/5001618.webp"
      },"imageFileName":"5001619","uri":"file:///data/user/0/com.example.myapppackagename/files/50016/5001619.webp"
      },"imageFileName":"5001620","uri":"file:///data/user/0/com.example.myapppackagename/files/50016/5001620.webp"
      },"imageFileName":"5001621","uri":"file:///data/user/0/com.example.myapppackagename/files/50016/5001621.webp"
      },"imageFileName":"5001622","uri":"file:///data/user/0/com.example.myapppackagename/files/50016/5001622.webp"
      },"imageFileName":"5001623","uri":"file:///data/user/0/com.example.myapppackagename/files/50016/5001623.webp"
      },"imageFileName":"5001624","uri":"file:///data/user/0/com.example.myapppackagename/files/50016/5001624.webp"
      },"imageFileName":"5001625","uri":"file:///data/user/0/com.example.myapppackagename/files/50016/5001625.webp"
      },"imageFileName":"5001626","uri":"file:///data/user/0/com.example.myapppackagename/files/50016/5001626.webp"
      },"imageFileName":"5001627","uri":"file:///data/user/0/com.example.myapppackagename/files/50016/5001627.webp"
      },"imageFileName":"5001628","uri":"file:///data/user/0/com.example.myapppackagename/files/50016/5001628.webp"
      },"imageFileName":"5001629","uri":"file:///data/user/0/com.example.myapppackagename/files/50016/5001629.webp"
      },"imageFileName":"5001630","uri":"file:///data/user/0/com.example.myapppackagename/files/50016/5001630.webp"
      }
    ],"stickersAddedindex":30,"totalSize":0,"trayImageFile":"my_tray_icon.webp"
  },{
    "androidplayStoreLink":"i have added valid playstore link here removed purposely here","animatedStickerPack":true,"identifier":"60006","name":"Dogs","imageFileName":"600061","uri":"file:///data/user/0/com.example.myapppackagename/files/60006/600061.webp"
      },"imageFileName":"600062","uri":"file:///data/user/0/com.example.myapppackagename/files/60006/600062.webp"
      },"imageFileName":"600063","uri":"file:///data/user/0/com.example.myapppackagename/files/60006/600063.webp"
      },"imageFileName":"600065","uri":"file:///data/user/0/com.example.myapppackagename/files/60006/600065.webp"
      },"imageFileName":"600066","uri":"file:///data/user/0/com.example.myapppackagename/files/60006/600066.webp"
      },"imageFileName":"600067","uri":"file:///data/user/0/com.example.myapppackagename/files/60006/600067.webp"
      },"imageFileName":"600068","uri":"file:///data/user/0/com.example.myapppackagename/files/60006/600068.webp"
      },"imageFileName":"600069","uri":"file:///data/user/0/com.example.myapppackagename/files/60006/600069.webp"
      },"imageFileName":"6000610","uri":"file:///data/user/0/com.example.myapppackagename/files/60006/6000610.webp"
      },"imageFileName":"6000611","uri":"file:///data/user/0/com.example.myapppackagename/files/60006/6000611.webp"
      },"imageFileName":"6000612","uri":"file:///data/user/0/com.example.myapppackagename/files/60006/6000612.webp"
      },"imageFileName":"6000613","uri":"file:///data/user/0/com.example.myapppackagename/files/60006/6000613.webp"
      },"imageFileName":"6000614","uri":"file:///data/user/0/com.example.myapppackagename/files/60006/6000614.webp"
      },"imageFileName":"6000615","uri":"file:///data/user/0/com.example.myapppackagename/files/60006/6000615.webp"
      },"imageFileName":"6000616","uri":"file:///data/user/0/com.example.myapppackagename/files/60006/6000616.webp"
      }
    ],"stickersAddedindex":15,"trayImageFile":"my_tray_icon.webp"
  }
]

在这里遗漏了什么吗?这里应该为 fd 添加哪个字段?有人可以帮我解决这个问题吗?任何帮助将不胜感激。 谢谢

解决方法

如果您有自定义 uri,请执行此操作

File file =new File(uri);
                Uri newUri = Uri.fromFile(file);
                getApplicationContext().getContentResolver().openFileDescriptor(newUri,"r" );

和 openAssetFile 中的内容提供者类

 pfd = Objects.requireNonNull(getContext()).getContentResolver().openFileDescriptor(
                                csp.getTrayImageUri(),"r");

然后执行您的工作,如果您有任何疑问请联系我或在此处发表评论

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...