Skip to main content
This guide prepares an Android application for a future Threetone integration. No verified public Kotlin SDK, Gradle dependency, or supported native session contract is established here.

Prepare the application boundary

Keep workspace API keys on your server. The Android application should receive only the access allowed by the released session contract after your server has authorized the signed-in user and intended agent. Use the server resource guides for current API operations. A phone application can be inspected by its users, so embedding a workspace key in a resource file or build configuration does not protect it.

Design the native lifecycle

1

Choose who owns the session

Decide whether a session belongs to a screen or a longer-lived application component. Define what rotation, navigation, and process recreation should do. A recreated screen must not silently create a second conversation.
2

Plan permission and audio states

For a voice feature, review Android’s runtime permission workflow and provide clear granted, denied, and settings-recovery states for microphone access. Request access for an intentional voice action. Do not request audio permission for a text-only interaction that does not use it.
3

Follow the lifecycle contract

Use lifecycle-aware components to observe when the interface becomes active or leaves the foreground. Android distinguishes paused, stopped, and destroyed states; they are not interchangeable. Follow the released transport’s cleanup rules and Android’s lifecycle guidance.

Device release checks

Test denied and revoked permissions, rotation, app switching, screen lock, process recreation, incoming phone calls, headset changes, and network loss. Verify that the interface never claims a dead connection is active and that end releases owned resources. A future SDK release must specify supported Android versions, dependency versions, audio-session behavior, background restrictions, and reconnect semantics. Do not assume that an Activity callback or a foreground service alone makes background conversation execution supported. Continue with mobile deployment and current availability.

Frequently asked questions

No verified Threetone Kotlin dependency is documented yet. Wait for the official package coordinates and supported-version guidance.
No. An Activity can be paused while still visible, including in multi-window situations. Match resource handling to the actual lifecycle and the released transport contract.