About restricted permission

As per new Android policies, getSimSerialNumber() (ICCID) permission is not allowed to non system apps.
But, I have seen some apps on Play store which can show SimSerialNumber inside the app (e.g. this, this). How do they do it?
Can't we achieve this same in appinventor?

Sorry Naresh, I couldn't understand. Would you please elaborate?

Affected apps should migrate to use the Subscription ID instead.

Why, should we think about, how they did it? Which is not permitted.

Thats why I am asking, if they can do it and their app is on play store, we may also be able to do it. But the question is, how?.

Maybe, if you can share with us the reason, why do you want to read

Perhaps someone can assist you in this regards.

I need to check SIM change event for the project.

If your requirement were just to know SIM change at different networks level only, that case you could have used getSimCarrierId or getSimCarrierIdName by differentiating carrier_id, but these methos will return same result if both SIM cards belongs to same network provider.

Yes, carrier name is easy to get. But, as you said, it's not fulfilling the purpose in most of the times.