Back to Projects

Automatic Call Recorder

Java (Android) Accessibility Service Foreground Service

A highly technical Android utility developed to solve a specific engineering challenge: recording phone calls after Google restricted the native APIs in Android 9. By leveraging the Accessibility Service API, this app captures the raw audio stream from the system, enabling clear, bi-directional recording of both cellular and VoIP calls.

Technical Implementation

Accessibility Hack

When the standard `MediaRecorder` API was blocked, this app implemented a custom Accessibility Service. This service listens to system events and captures audio as "content," effectively bypassing the restrictions imposed on the standard voice call audio source.

Device Admin

To ensure the recording service is never killed by the OS for memory saving, the app requests Device Administrator privileges. This grants it high-priority execution status, ensuring 24/7 uptime for background recording processes.

Encrypted Cloud Sync

The app doesn't just store files locally. It includes a background syncing module that encrypts recorded audio files and securely uploads them to a private PHP/MySQL backend (`UploadFiles.php`), ensuring data is preserved even if the device is lost.

Foreground Service

Utilizes a persistent Foreground Service with a notification channel. This technical requirement prevents the Android system from putting the app to "sleep" (Doze mode), guaranteeing that the listener is always active when a call comes in.