Since: API Level 1.5
package

com.gsma.services.rcs

The RCS service is implemented into an Android background service which offers a high level API: the RCS Terminal API.

The RCS API is a client/server interface based on database providers, AIDL API & Intents. Several UI may be connected at a time to manage RCS events and to interact with the single stack instance running in background.

The RCS API permits to implement RCS application (e.g. enhanced address book, content sharing app, chat view, widgets) by hiding RCS protocols complexity.

The RCS API offers the following service API:
- Capability API: contact capabilities discovery.
- Chat API: 1-1 chat and group chat.
- File Transfer API: transfer a file.
- Video Share API: live video sharing during a CS call.
- Image Share API: image sharing during a CS call.
- UX API: links third party applications with RCS applications.

The RCS API uses the following Android concepts:
- Intents mechanism to broadcast incoming events (e.g. notification) and incoming invitations to any Android activity or broadcast receiver which are declared in the device.
- AIDL interfaces to initiate and to manage session in real time (start, session monitoring, stop). Session events are managed thanks to callback mechanism.

Note: Methods of the RCS API throw an exception if the RCS service is not available, not initialized or not registered to the IMS platform.

Note: Remote application exceptions are not yet supported by the AIDL SDK, a generic AIDL exception is thrown instead.

Note: The supported formats for a contact used as a method parameter are:
- Phone number in national or international format (e.g. +33xxx).
- SIP address (e.g. "John" ).
- SIP-URI (e.g. sip:+33xxx@domain.com).
- Tel-URI (e.g. tel:+33xxx).

Interfaces

RcsServiceListener RCS service event listener 

Classes

CommonServiceConfiguration This class represents the common configuration of RCS Services 
Geoloc Geolocation class  
Intents Intents related to rcs service activities 
Intents.Chat Intents for chat service  
Intents.FileTransfer Intents for file transfer service  
Intents.Service Intents for RCS service  
RcsService Abstract RCS service 
RcsService.Build Information about the current build  
RcsService.Build.VERSION_CODES List of version codes  
RcsServiceControl A utility class to control the activation of the RCS service. 
RcsServiceRegistration A class to hold the reason code for IMS registration 
RcsServiceRegistrationListener Service registration events listener 

Enums

CommonServiceConfiguration.MessagingMethod The messaging method  
CommonServiceConfiguration.MessagingMode The messaging client mode  
CommonServiceConfiguration.MinimumBatteryLevel The minimum battery level  
RcsService.Direction Direction of the communication for Chat message, Geolocation, Filetransfer, Imageshare, Videoshare etc. 
RcsService.ReadStatus Read status of the message  
RcsServiceListener.ReasonCode ReasonCode  
RcsServiceRegistration.ReasonCode ReasonCode for IMS registration  

Exceptions

RcsGenericException Rcs Generic Exception

A Generic exception that must be thrown from a service API when the requested operation failed to fully complete its scope of responsibility and none of the more specified exceptions can be thrown. 

RcsIllegalArgumentException Rcs Illegal Argument Exception. 
RcsMaxAllowedSessionLimitReachedException Rcs Max Allowed Session Limit Reached Exception. 
RcsPermissionDeniedException RCS permission denied exception

Thrown when a method of the service API is called that not allowed right now. 

RcsPersistentStorageException Rcs Persistent Storage Exception

Thrown when a method of the service API is called to persist data or read back persisted data failed. 

RcsServiceException Rcs service exception 
RcsServiceNotAvailableException RCS service not available exception

Thrown when a method of the service API is called and the service API is not bound to the RCS service (e.g. 

RcsServiceNotRegisteredException Rcs service not registered exception

Thrown when a method of the service API using the RCS service platform is called and the terminal which requires that the RcsCoreService is registered and connected to the IMS server is not registered to the RCS service platform (e.g. 

RcsUnsupportedOperationException Rcs unsupported operation exception.