Short answer
If the app only reads one-time codes, remove READ_SMS, RECEIVE_SMS and READ_CALL_LOG from the manifest, including those added by SDKs, and use the SMS Retriever API or SMS User Consent API. If the app truly is the default SMS or Phone handler, submit the Permissions Declaration Form in Play Console, then upload the new build to every track.
Rather not fix it yourself? App Fix Ticket starts with a fixed-price diagnosis, then a fixed price for the fix before any fix work.
Why Play refuses the permissions, and the fix
01
The app reads SMS to fill in a login code
“With the SMS User Consent API, you can prompt the user to grant access to the content of a single SMS message to complete SMS verification.” Google Play Console Help, Use of SMS or Call Log permission groups (alternatives)
Reading the inbox for an OTP is the most common reason for this rejection. Switch to the SMS Retriever API, which needs no SMS permission, or the SMS User Consent API, which asks the user to share one message.
02
The app isn’t the default SMS or Phone handler
“Apps must be actively registered as the default SMS, Phone, or Assistant handler before prompting users to accept any of SMS or Call Log permissions.” Google Play Console Help, Use of SMS or Call Log permission groups
Messaging and dialer features count only when the user has set the app as the default handler. Request the permissions after that, and stop using them if the user picks another app.
03
No declaration form, or a wrong one
“Apps that fail to meet policy requirements or lack a Permissions Declaration Form may be removed from Google Play.” Google Play Console Help, Use of SMS or Call Log permission groups
A build that keeps the permissions needs a declaration that matches what the app does. Update the form whenever the use changes.
04
An SDK adds the permission
Also check: open the merged manifest in Android Studio. A verification or analytics library can add READ_SMS or RECEIVE_SMS; remove them with tools:node="remove" (the manifest root needs the tools namespace).
<uses-permission android:name="android.permission.READ_SMS" tools:node="remove" /> <uses-permission android:name="android.permission.RECEIVE_SMS" tools:node="remove" />
Checked against the vendor’s docs on : Play Console Help: Use of SMS or Call Log permission groups.
Rather hand it over?
Fixed scope, fixed price, paid upfront. The work happens in writing; no call needed.
“Very responsive, attentive to fixing bugs, and completed the project as needed! Thank you!”
Related: Google Play photo and video permissions · Google Play background location permission · Google Play prominent disclosure · Google Play QUERY_ALL_PACKAGES