[Solution] Call Log or SMS permissions


I have find the solution to remove Call Log or SMS permissions and use to replace “Activity Starter”.

Here solution:





I have try to my application and it’s work, now i can publish the update to playstore.

source: thanks to authors :wink:


App Inventor has released a solution for this problem with their latest release. See below.

New functionality

We implemented conditional permissions for Texting and PhoneCall components so apps built with MIT App Inventor will be compliant with new Google Play Store policies. By default, apps using the Texting and PhoneCall components will now launch the device’s default texting and dialer apps. Most app inventors will be able to continue using the existing blocks for their apps.

If you want to build apps that respond to SMS or phone calls, or directly initiate a text or call, you may do so. To send a message or start a call, use the SendMessageDirect and MakePhoneCallDirect blocks, respectively. Receiving texts and calls continues to behave as it did. However, apps built with these behaviors will trigger additional review when being submitted to Google Play.

NOTE: The MIT AI2 Companion distributed through the Google Play Store cannot use the SendMessageDirect or MakePhoneCallDirect blocks. Attempting to use them will result in a permission error. This is due to restrictions imposed by Google (see paragraph above about changes in Google Policies). If you download the Companion directly from the MIT App Inventor system (via the “Help->Companion Information” Menu option) you will get a version that does work with the “Direct” blocks.


It should be very easy to implement this in Thunkable.


This update should be merged into Classic in the coming weeks, thanks Peter!


The tips what i have find in the forum Appinventor work on Thunkable.

On my side google deleted 2 applications (1 with appinventor and 1 with thunkable) a few days ago because it had the block sms, so I had to react quickly to find a solution, I could not wait until thunkable so an update in the coming weeks because in waiting for my application is no longer in the google store and thanks to the appinventor trick it worked, I was able to work around the problem.

1 Like

Hi @Julianiho

Is there any way to send the SMS message automatically? The SendMessage block allowed to do it, but using activity starter requires user to push the button on the SMS app to send the message. My app needs no user interaction to as designed.



Sorry but with activity starter i don’t success to send sms automaticaly.

you might want to use a service like Twilio

I once prepared an example project for Twilio, in case you are interested in this, please contact me by PM

Thanks. I’ll take a look to at it.

Apparently Thunkable Live and apk apps don´t work equally. Send DirectMessage can´t be used on Thunkable live due to permission requirements, but works fine when using the app on my cellphone. However, Make PhoneCallDirect doesn´t work either on Thunkable Live or my cellphone, it gives the “Can only use lower 16 bits for requestCode” error.

Also, I tried making automatic calls using this activity starter blocks scheme:


This works great when testing using Thunkable live, but unexpectably it dosen´t work at all and makes the app chash when I try using it on my mobile phone; I got this error:


To sum up, I can´t make a phone call with any blocks.

Any suggestions to solve this?


you might want to try the AskForPermission block from the Screen drawer and first ask for the permission android.permission.CALL_PHONE before using the activity starter


Thanks for your suggestion, Taifun. Unfortunately, I keep getting errors; now I get this one:


Which I don´t understand why it happens, since the permissions for my app are enabled (see prueba2 is enabled):

the error message looks strange…
The permission permission android.permission.CALL_PHONE …
what about providing a screenshot of your relevant blocks?


For calling:


For messaging:

What is strange is that this solution does work on Thunkable live (for calling) but it doesn’t when I download the app and install it on my mobile phone.

if you want to use the phone number picker component, then you first have to open the phone number picker and after the phone number has been picked continue with your blocks in the AfterPicking event
see also the documentation http://ai2.appinventor.mit.edu/reference/components/social.html#PhoneNumberPicker


Yes, the AfterPicking event was already included in the workspace:

I thinkt the action call phone_number_picker.open shouldn’t be the cause of the error, since it happens even if the variable global contacto is already set when the procedure llamar_contacto is executed (that implies the if block wouldn’t take place)

A post was split to a new topic: Question about Taifun Texting Component