Runtime Error: Targeting S+ (version 31 and above) requires that one flag of FLAG_IMMUTABLE be specified[...]

I'm fairly certain the fix is a one line change on our end, but I also wonder what other components might be affected by the same bug. Therefore I want to review all of our uses of Android's PendingIntent which will take some time.

1 Like

So it looks like the Texting component is the only one affected by this. I've put together a potential fix but we'll need to test it before merging.

See also here:

Not really. I get the identical message on Android12 whilst using an extension (Servico) which does not occur on Android 8 - 11. The issue could be something in the extension of course.

I have had to code around on several issues on a few apps that compiled fine on Android 11 that have issues w.r.t. Text file components. Using a different Text tool 'fixed the issue'. Wish I had taken better notes.

Since I don't have sources for extensions I can't speak to extensions. My statement was only with respect to the App Inventor code base. Any extensions that use PendingIntent will need to make sure that they assert whether the PendingIntent is mutable or not to satisfy this new Android 12 constraint.

1 Like

Even Serial is having this problem. See this

The error occurs when the call Serial1.OpenSerial block is executed.

...note that you can't distribute your App via Google Play if you use SendMessageDirect. Android Security measures require your App to send via the default Device messenger App.

Thank you for the heads up. This is just for me. I have no plans for distribution

3 Likes

2 posts were split to a new topic: Sending Group texts

SendMessageDirect en Android 12

Error
Targeting S+ (version 31 and above) requires that one of FLAG_IMMUTABLE or FLAG_MUTABLE be specified when creating a PendingIntent. Strongly consider using FLAG_IMMUTABLE, only use FLAG_MUTABLE if some functionality depends on the PendingIntent being mutable, e.g. if it needs to be used with inline replies or bubbles.

@QBoxIT00 Please see post # 4

No habia visto este tema, tengo la misma problematica, pero es especificamente con las extensiones NotificationStyle y ItoO, porque al eliminar dichas extensiones la apliacion deja de enviar este error, hice una pequeña app de prueba y si es por las extensiones

The kio4.service.aix extension also had problems with FLAG_IMMUTABLE or FLAG_MUTABLE, I have updated it, I hope it works.

I have deployed a temporary server where you can test the issues related to FLAG_IMMUTABLE in the built-in components here. Extension authors will still need to separately update their extensions to be compatible with Android S.

2 Likes

Thanks for the efforts. I am making a simple SMS based app to act as a paging app. I uploaded my .aia file to nb190a-bugfixes.ai2-ewpatton... server but I am getting the same Targeting S+ version 31 and above)... error. The version of emulator I am using is 2.65u

I attaching the .aia file here for reference.
KayKayPagingReceiver.aia (719.6 KB)

MIT knows about the bug in the SMS component since nb190 and Companion 2.65.

The Texting component will be fixed soon. Please be patient. :slight_smile:

3 Likes

Did you install the companion version provided by that server? It should be 2.65d1u. Otherwise, you have the production companion which will still have the bug.

I installed the companion version provided by that server by scanning the qr code, downloading the apk and then updating the app on the phone but it shows the version 2.65.

I uninstalled the companion app and installed the downloaded apk also but in that app the version shown is 2.65.

The link from which I downloaded the APK is :

companionLink

However, by update or even by fresh install the version of the app is shown as 2.65.

Yes ...

grafik

but where is the problem?

E W Patton has deployed a temporary server with the fix and its companion app is supposed to have the version 2.65d1u. While testing my app on this sever, I see that the version of the companion app from the temporary server is still 2.65 and not 2.65d1 or 2.65d1u