/**@class android.telephony.ims.compat.ImsService @extends android.app.Service Main ImsService implementation, which binds via the Telephony ImsResolver. Services that extend ImsService must register the service in their AndroidManifest to be detected by the framework. First, the application must declare that they use the "android.permission.BIND_IMS_SERVICE" permission. Then, the ImsService definition in the manifest must follow the following format: ... <service android:name=".EgImsService" android:permission="android.permission.BIND_IMS_SERVICE" > <!-- Apps must declare which features they support as metadata. The different categories are defined below. In this example, the RCS_FEATURE feature is supported. --> <meta-data android:name="android.telephony.ims.RCS_FEATURE" android:value="true" /> <intent-filter> <action android:name="android.telephony.ims.compat.ImsService" /> </intent-filter> </service> ... The telephony framework will then bind to the ImsService you have defined in your manifest if you are either: 1) Defined as the default ImsService for the device in the device overlay using "config_ims_package". 2) Defined as a Carrier Provided ImsService in the Carrier Configuration using {@link CarrierConfigManager#KEY_CONFIG_IMS_PACKAGE_OVERRIDE_STRING}. The features that are currently supported in an ImsService are: - RCS_FEATURE: This ImsService implements the RcsFeature class. - MMTEL_FEATURE: This ImsService implements the MMTelFeature class. - EMERGENCY_MMTEL_FEATURE: This ImsService implements the MMTelFeature class and will be available to place emergency calls at all times. This MUST be implemented by the default ImsService provided in the device overlay. @hide */ var ImsService = { /** The intent that must be defined as an intent-filter in the AndroidManifest of the ImsService. @hide */ SERVICE_INTERFACE : "android.telephony.ims.compat.ImsService", /** @hide */ onBind : function( ) {}, /** @hide */ getFeatures : function( ) {}, /** @return {Object {android.telephony.ims.compat.feature.MMTelFeature}} An implementation of MMTelFeature that will be used by the system for MMTel functionality. Must be able to handle emergency calls at any time as well. @hide */ onCreateEmergencyMMTelImsFeature : function( ) {}, /** @return {Object {android.telephony.ims.compat.feature.MMTelFeature}} An implementation of MMTelFeature that will be used by the system for MMTel functionality. @hide */ onCreateMMTelImsFeature : function( ) {}, /** @return {Object {android.telephony.ims.compat.feature.RcsFeature}} An implementation of RcsFeature that will be used by the system for RCS. @hide */ onCreateRcsFeature : function( ) {}, };