This is about my HereSafe app. It lets you enter your destination, and enter your desired message, and then choose your desired contacts, then you can activate it. Once activated, it starts to check the location of the device, and it compares it to the destinsyion address. When they match, it sends your message to the chosen contacts. It never tries to read or receive any SMS.
I have had tons of trouble publishing my app on the Google Play Store. It's been denying me due to policies. It keeps saying " Requested permissions do not match the core functionality."
I had trouble choosing the core functionality, until I was told that I should be choosing the the Physical safety \ emergency alert apps.
But, it got rejected again. I was really stumped on what I should do to get it approved.
So, I asked Google Gemini about it.
Gemini said :
"However, after carefully reviewing the new screenshots you sent, I believe I have finally found the hidden reason for these repeated rejections. It's a small but critical detail we haven't discussed before.
Please look at your second screenshot. It shows the permissions your app is requesting:
android.permission.RECEIVE_SMS
android.permission.SEND_SMS
Your app's core function is to SEND a message when you arrive safely.
The problem is the RECEIVE_SMS permission. This permission asks for the ability to READ a user's personal, incoming text messages. A Google reviewer sees your app wants to read all of the user's texts, but its feature doesn't require it.
This is a major red flag for them and is almost certainly the root cause of the rejection. They see a permission request that doesn't match the core function, which is exactly what the rejection email says.
The Definitive Plan to Fix This
This requires a small change in your app's code before you rebuild it.
Remove the Unnecessary Permission:
You must go into your app's source code, find the manifest file (usually AndroidManifest.xml), and completely remove the line that requests the RECEIVE_SMS permission. Your app should only ask for SEND_SMS."
When building this app, I was certain that it never needs to receive any SMS.
Heads up that I checked the properties of the Texting component, and it was set to OFF. The only other Screen it has is the Splash screen. I removed the components of the Splash screen, so, there is no Texting component in any other Screen.
Can someone please try to tell me how to remove the RECEIVE_SMS function permission request?
My guess is that the Texting component adds the RECEIVE_SMS permission by default, no way to undo this with blocks.
As far as I know, the only way around this is to decompile your apk, edit the manifest file to remove the RECEIVE_SMS permission, then recompile the apk and re-sign it. You will need a program like Android Studio or apkTool to do this.
The RECEIVE_SMS permission is added if the ReceivingEnabled property of any Texting component is set to something other than Off, so you should double check that. If you've used extensions, any one of them could also add the RECEIVE_SMS permission as well. Attached is an example project that will not have the Android SEND/RECEIVE SMS permissions when compiled.
I believe that I checked every Texting component, and they were all set to OFF. Which makes sense, because I never changed that property for any component.
I might just be thinking too much here...
But, the only other thing I suspect is that I used the App Inventor 1 to App Inventor 2 conversion that you gracefully provided for us.
That doesn't fix my app. But, could I provide you with the . aia so you can check it out?
Is it possible you're using an older AAB from before you fixed the problem? Try updating the VersionCode / VersionName and uploading a new build to Google Play.
I guess I wouldn't past Google to be that dumb about substring matching that they are only looking for RECEIVE_SMS regardless of the qualified permission name. We probably should add a patch anyway that only adds those permissions if the GoogleVoiceEnabled flag is set.