Why i am getting "fd must not be null" validation error on adding sticker pack to WhatsApp?

554 Views Asked by At

I am creating an android application for adding custom stickers to WhatsApp. I have followed this example but on adding sticker to WhatsApp an error dialog is displayed with message "There is some problem with this sticker pack and it cant be added to Whatsap". The validation error i get onActivity result is "fd must not be null". I am unable to find the cause of this error. What is FD in this case?

What i have tried: -I tried adding publisherEmail,website etc all fields but still getting this error.

-For tray image i have added a webp icon in my assets folder and provided its name in trayImageFile field.

What is required: -The custom sticker pack i am fetching from firebase should be added to WhatsApp both normal and animated.

This is the json file which is created from my project

[
  {
    "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",
        "size":0,
        "uri":"file:///data/user/0/com.example.myapppackagename/files/50016/500162.webp"
      },
      {
        "emojis":[

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        ],
        "imageFileName":"5001630",
        "size":0,
        "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,
    "avoidCache":false,
    "identifier":"60006",
    "imageDataVersion":"",
    "index":"0",
    "isCustom":false,
    "isPremimmum":false,
    "isWhitelisted":false,
    "licenseAgreementWebsite":"",
    "name":"Dogs",
    "privacyPolicyWebsite":"",
    "publisher":"TEST CONTENT",
    "publisherEmail":"1",
    "publisherWebsite":"",
    "stickerMode":0,
    "stickers":[
      {
        "emojis":[

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        ],
        "imageFileName":"6000616",
        "size":0,
        "uri":"file:///data/user/0/com.example.myapppackagename/files/60006/6000616.webp"
      }
    ],
    "stickersAddedIndex":15,
    "totalSize":0,
    "trayImageFile":"my_tray_icon.webp"
  }
]

Is there something i am missing here? Which field should be added here for fd? Can somebody please help me out with this. Any help will be appreciated. Thank you

2

There are 2 best solutions below

0
On

The only reason is that you haven't provided Read/Write permission in your android app. Add permission logic in code and reinstall app -> give permission and it works!

0
On

if you have custom uri then do this

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

and in content provider class in openAssetFile

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

then perform your work moreover if you have any query IB me or comment here