ARTICLE AD BOX
I am building a Flutter (Android) application where users see lead cards containing mobile numbers.
When a user taps a number, the intention is to initiate a phone call and record that call, but only for calls started from my app (not background or all calls).
What I want to achieve
User taps a phone number inside my app
Call is initiated (GSM / normal phone network)
Call recording starts automatically
Recording is stored or accessible to my app
No background or silent recording
Only app-initiated calls should be recorded
Problem
From Android 10+ onward:
Apps cannot access GSM call audio
VOICE_CALL audio source is blocked
Background or automatic call recording is restricted
Even if the call is initiated from the app, recording is not allowed
Despite this, apps like Truecaller and Salestrail appear to support GSM call recording on some devices.
My confusion
How do apps like Truecaller or Salestrail record GSM calls?
Are they using undocumented / OEM-specific permissions?
Is this functionality limited to:
Default dialer apps?
System / pre-installed apps?
OEM partnerships?
Is there any supported or future-proof way for a third-party Flutter/Android app to:
Record only its own GSM calls
While remaining Play Store compliant?
What I understand so far
Normal third-party apps cannot reliably record GSM calls
OEM-specific behavior may allow it on some devices, but it is unstable
VoIP-based in-app calling is the only fully supported alternative
What I am looking for
A clear technical explanation of how these apps work
Confirmation whether this is impossible for normal apps
Any official Android guidance or policy-backed approach
Whether attempting OEM-specific gaps is viable or discouraged
I am not looking to bypass security or violate Play Store policies — just trying to understand the technical and platform limitations clearly.
