Release Notes - Android SDK

See how the Sinch In-app Voice and Video SDK for Android is evolving and find out about new features and bug fixes.


  • Fix issue that prevented user that did not start Sinch client for over a year authenticating on Sinch backend.


  • Fix screenshot and filter video sample applications threading issues.


  • Update WebRTC to M96.


  • Refactor AudioController.enableAutomaticAudioRouting() to accept AudioController.AudioRoutingConfig parameter.
  • Fix potential crash in the JNI layer that could happen if null-body reply is unexpectedly returned from the backend.


  • Add android:exported attribute to the internal service manifest in conformance with new Android S+ rules (Android 12).


  • Fix crash on Huawei devices that support Google Play Services when Huawei HMS Messaging is used.


  • Fix crash in the AudioManagerInternal caused by unregistering of not-yet-registered Wired Headset Receiver.


  • Stop storing Sinch FCM token in SharedPreferences. Sometimes when the new FCM token is acquired, if update of the SharedPreferences fails/slow - the old FCM token is sent again to the Sinch backend.


  • Removed SinchClient.setMediaHandover(boolean) , SinchClientBuilder.enableMediaHandover(boolean) , and Call.setMediaHandover() . Media handover and reconnection behaviour is now handled internally.


  • Check CAMERA permission before video capture starts to avoid crash in case the user revoked permission. If not granted - black video. If granted during the call, video can be resumed with call to Call.resumeVideo() . The responsibility to ensure that CAMERA permission is granted lies on the application.
  • Fixed crash when setting video frame listeners during audio-only call.
  • Removed Beta.setMediaHandoverConfig(SinchClient client, MediaHandoverConfig config) and MediaHandoverConfig class as a whole. Media handover behaviour is now handled internally.


  • Fixed memory leak in LocalVideoFrameListener and RemoteVideoFrameListener implementations.


  • Switch to new release tools and process.


  • Fixed crash in SinchClient when the client is terminated during incoming call processing.
  • Added VideoController setLocalVideoResizeBehaviour() to allow full-screen local video experience.


  • Failure of internal database initialization at SinchClient/UserController creation time will now cause IOException, instead of failing silently.
  • Fixed rare crash in SinchClient that happened during 'fast' start after graceful termination.
  • Updated sample application with SinchClient lifecycle management comments.


  • Aligned SinchClient registration experience with UserController's one by extending SinchClientListener interface and providing a way to register a user with the HMS Push Token via SinchClient by adding Huawei HMS specific methods to SinchClientBuilder:
    • hmsDeviceToken(String deviceToken);
    • hmsApplicationId(String applicationId);
  • Extended SinchClientListener interface by both UserRegistrationCallback and PushTokenRegistrationCallback interfaces.
  • Removed SinchClientListener.onRegistrationCredentialsRequired(SinchClient client, ClientRegistration registrationCallback) in favor of inherited UserRegistrationCallback.onCredentialsRequired(ClientRegistration registrationCallback).
  • Renamed PushTokenRegistrationCallback methods to follow the same naming pattern:
    • tokenRegistered() -> onPushTokenRegistered()
    • tokenRegistrationFailed(...) -> onPushTokenRegistrationFailed(...)
  • Removed deprecated SinchClient's stop() and unregisterPushProfile() APIs.


  • Removed MissingFCMException.
  • Added SinchHelper methods to check availability of the Google FCM or Huawei HMS services.


  • Moved from deprecated appcompat to AndroidX.


  • Fixed potential crash in logging when receiving weird-looking media streams.


  • Added support specifying/modifying call headers via ICE callback response.


  • Sinch environment host changed to
  • Removed support for legacy push data ( SinchClient.registerPushNotificationData() ).
  • Removed ErrorType.CAPABILITY , ErrorType.OTHER . Added ErrorType.GENERIC .
  • Removed deprecated SinchClient.stop() (and SinchClientListener.onClientStopped() ). Use SinchClient.terminateGracefully() instead.
  • CallDetails getStartedTime() , getEstablishedTime() and getEndedTime() return java.util.Date instead of long.
  • AudioController has new APIs: isMute() and isSpeakerOn() .
  • Fixed AudioController bug that change microphone state when disengaging Automatic Audio Routing.

** NEW SDK for In-app Voice & Video Platform

Was this page helpful?