ProvisioningManager
public
class
ProvisioningManager
extends Object
java.lang.Object | |
↳ | android.telephony.ims.ProvisioningManager |
Manages IMS provisioning and configuration parameters, as well as callbacks for apps to listen
to changes in these configurations.
IMS provisioning keys are defined per carrier or OEM using OMA-DM or other provisioning
applications and may vary. It is up to the carrier and OEM applications to ensure that the
correct provisioning keys are being used when integrating with a vendor's ImsService.
Use ImsManager.getProvisioningManager(int)
to get an instance of
this manager.
Requires the PackageManager#FEATURE_TELEPHONY_IMS
feature which can be detected using PackageManager.hasSystemFeature(String)
.
Summary
Nested classes | |
---|---|
class |
ProvisioningManager.FeatureProvisioningCallback
Callback for IMS provisioning feature changes. |
Public methods | |
---|---|
boolean
|
getProvisioningStatusForCapability(int capability, int tech)
Get the provisioning status for the IMS MmTel capability specified. |
boolean
|
getRcsProvisioningStatusForCapability(int capability, int tech)
Get the provisioning status for the IMS RCS capability specified. |
boolean
|
isProvisioningRequiredForCapability(int capability, int tech)
Indicates whether provisioning for the MMTEL capability and IMS registration technology specified is required or not Requires Permission:
|
boolean
|
isRcsProvisioningRequiredForCapability(int capability, int tech)
Indicates whether provisioning for the RCS capability and IMS registration technology specified is required or not Requires Permission:
|
void
|
registerFeatureProvisioningChangedCallback(Executor executor, ProvisioningManager.FeatureProvisioningCallback callback)
Register a new |
void
|
setProvisioningStatusForCapability(int capability, int tech, boolean isProvisioned)
Set the provisioning status for the IMS MmTel capability using the specified subscription. |
void
|
setRcsProvisioningStatusForCapability(int capability, int tech, boolean isProvisioned)
Set the provisioning status for the IMS RCS capability using the specified subscription. |
void
|
unregisterFeatureProvisioningChangedCallback(ProvisioningManager.FeatureProvisioningCallback callback)
Unregisters a previously registered |
Inherited methods | |
---|---|
Public methods
getProvisioningStatusForCapability
public boolean getProvisioningStatusForCapability (int capability, int tech)
Get the provisioning status for the IMS MmTel capability specified.
If provisioning is not required for the queried capability
and
tech
combination specified, this method will
always return true
.
Requires Permission:
- android.Manifest.permission#READ_PRIVILEGED_PHONE_STATE,
Manifest.permission.READ_PRECISE_PHONE_STATE
,- or that the caller has carrier privileges (see
TelephonyManager#hasCarrierPrivileges()
).
This method may take several seconds to complete, so it should only be called from a worker thread.
Requires
Manifest.permission.READ_PRECISE_PHONE_STATE
Returns | |
---|---|
boolean |
true if the device is provisioned for the capability or does not require provisioning, false if the capability does require provisioning and has not been provisioned yet. |
Throws | |
---|---|
UnsupportedOperationException |
If the device does not have
PackageManager#FEATURE_TELEPHONY_IMS . |
getRcsProvisioningStatusForCapability
public boolean getRcsProvisioningStatusForCapability (int capability, int tech)
Get the provisioning status for the IMS RCS capability specified.
If provisioning is not required for the queried
capability
or if the device does not support IMS
this method will always return true
.
Requires Permission:
Manifest.permission.READ_PRECISE_PHONE_STATE
,- or that the caller has carrier privileges (see
TelephonyManager#hasCarrierPrivileges()
).
This method may take several seconds to complete, so it should only be called from a worker thread.
Requires
Manifest.permission.READ_PRECISE_PHONE_STATE
Parameters | |
---|---|
capability |
int : Value is either 0 or a combination of ImsRcsManager.CAPABILITY_TYPE_NONE , ImsRcsManager.CAPABILITY_TYPE_OPTIONS_UCE , and ImsRcsManager.CAPABILITY_TYPE_PRESENCE_UCE |
tech |
int : Value is ImsRegistrationImplBase.REGISTRATION_TECH_NONE , ImsRegistrationImplBase.REGISTRATION_TECH_LTE , ImsRegistrationImplBase.REGISTRATION_TECH_IWLAN , ImsRegistrationImplBase.REGISTRATION_TECH_CROSS_SIM , ImsRegistrationImplBase.REGISTRATION_TECH_NR , or ImsRegistrationImplBase.REGISTRATION_TECH_3G |
Returns | |
---|---|
boolean |
true if the device is provisioned for the capability or does not require provisioning, false if the capability does require provisioning and has not been provisioned yet. |
Throws | |
---|---|
UnsupportedOperationException |
If the device does not have
PackageManager#FEATURE_TELEPHONY_IMS . |
isProvisioningRequiredForCapability
public boolean isProvisioningRequiredForCapability (int capability, int tech)
Indicates whether provisioning for the MMTEL capability and IMS registration technology specified is required or not
Requires Permission:
- android.Manifest.permission#READ_PRIVILEGED_PHONE_STATE,
Manifest.permission.READ_PRECISE_PHONE_STATE
,- or that the caller has carrier privileges (see
TelephonyManager#hasCarrierPrivileges()
).
Requires
Manifest.permission.READ_PRECISE_PHONE_STATE
Returns | |
---|---|
boolean |
true if provisioning is required for the MMTEL capability and IMS registration technology specified, false if it is not required or if the device does not support IMS. |
Throws | |
---|---|
UnsupportedOperationException |
If the device does not have
PackageManager#FEATURE_TELEPHONY_IMS . |
isRcsProvisioningRequiredForCapability
public boolean isRcsProvisioningRequiredForCapability (int capability, int tech)
Indicates whether provisioning for the RCS capability and IMS registration technology specified is required or not
Requires Permission:
- android.Manifest.permission#READ_PRIVILEGED_PHONE_STATE,
Manifest.permission.READ_PRECISE_PHONE_STATE
,- or that the caller has carrier privileges (see
TelephonyManager#hasCarrierPrivileges()
).
Requires
Manifest.permission.READ_PRECISE_PHONE_STATE
Parameters | |
---|---|
capability |
int : Value is either 0 or a combination of ImsRcsManager.CAPABILITY_TYPE_NONE , ImsRcsManager.CAPABILITY_TYPE_OPTIONS_UCE , and ImsRcsManager.CAPABILITY_TYPE_PRESENCE_UCE |
tech |
int : Value is ImsRegistrationImplBase.REGISTRATION_TECH_NONE , ImsRegistrationImplBase.REGISTRATION_TECH_LTE , ImsRegistrationImplBase.REGISTRATION_TECH_IWLAN , ImsRegistrationImplBase.REGISTRATION_TECH_CROSS_SIM , ImsRegistrationImplBase.REGISTRATION_TECH_NR , or ImsRegistrationImplBase.REGISTRATION_TECH_3G |
Returns | |
---|---|
boolean |
true if provisioning is required for the RCS capability and IMS registration technology specified, false if it is not required or if the device does not support IMS. |
Throws | |
---|---|
UnsupportedOperationException |
If the device does not have
PackageManager#FEATURE_TELEPHONY_IMS . |
registerFeatureProvisioningChangedCallback
public void registerFeatureProvisioningChangedCallback (Executor executor, ProvisioningManager.FeatureProvisioningCallback callback)
Register a new FeatureProvisioningCallback
, which is used to listen for
IMS feature provisioning updates.
When the subscription associated with this callback is removed (SIM removed, ESIM swap,etc...), this callback will automatically be removed.
Requires Permission:
- android.Manifest.permission#READ_PRIVILEGED_PHONE_STATE,
Manifest.permission.READ_PRECISE_PHONE_STATE
,- or that the caller has carrier privileges (see
TelephonyManager#hasCarrierPrivileges()
).
Requires
Manifest.permission.READ_PRECISE_PHONE_STATE
Parameters | |
---|---|
executor |
Executor : The executor that the callback methods will be called on.
This value cannot be null .
Callback and listener events are dispatched through this
Executor , providing an easy way to control which thread is
used. To dispatch events through the main thread of your
application, you can use
Context.getMainExecutor() .
Otherwise, provide an Executor that dispatches to an appropriate thread. |
callback |
ProvisioningManager.FeatureProvisioningCallback : The callback instance being registered.
This value cannot be null . |
Throws | |
---|---|
ImsException |
if the subscription associated with this callback is
valid, but the service crashed, for example. See
ImsException#getCode() for a more detailed reason. |
UnsupportedOperationException |
If the device does not have
PackageManager#FEATURE_TELEPHONY_IMS . |
setProvisioningStatusForCapability
public void setProvisioningStatusForCapability (int capability, int tech, boolean isProvisioned)
Set the provisioning status for the IMS MmTel capability using the specified subscription. Provisioning may or may not be required, depending on the carrier configuration. If provisioning is not required for the carrier associated with this subscription or the device does not support the capability/technology combination specified, this operation will be a no-op.
Requires Permission:
Manifest.permission.MODIFY_PHONE_STATE
,- or that the calling app has carrier privileges (see
TelephonyManager#hasCarrierPrivileges
).
This method may take several seconds to complete, so it should only be called from a worker thread.
Requires
Manifest.permission.MODIFY_PHONE_STATE
Parameters | |
---|---|
capability |
int : Value is either 0 or a combination of MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VOICE , MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VIDEO , MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_UT , MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_SMS , MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_CALL_COMPOSER , and MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_CALL_COMPOSER_BUSINESS_ONLY |
tech |
int : Value is ImsRegistrationImplBase.REGISTRATION_TECH_NONE , ImsRegistrationImplBase.REGISTRATION_TECH_LTE , ImsRegistrationImplBase.REGISTRATION_TECH_IWLAN , ImsRegistrationImplBase.REGISTRATION_TECH_CROSS_SIM , ImsRegistrationImplBase.REGISTRATION_TECH_NR , or ImsRegistrationImplBase.REGISTRATION_TECH_3G |
isProvisioned |
boolean : true if the device is provisioned for UT over IMS, false otherwise. |
Throws | |
---|---|
UnsupportedOperationException |
If the device does not have
PackageManager#FEATURE_TELEPHONY_IMS . |
setRcsProvisioningStatusForCapability
public void setRcsProvisioningStatusForCapability (int capability, int tech, boolean isProvisioned)
Set the provisioning status for the IMS RCS capability using the specified subscription. Provisioning may or may not be required, depending on the carrier configuration. If provisioning is not required for the carrier associated with this subscription or the device does not support the capability/technology combination specified, this operation will be a no-op.
Requires Permission:
Manifest.permission.MODIFY_PHONE_STATE
,- or that the caller has carrier privileges (see
TelephonyManager#hasCarrierPrivileges()
).
This method may take several seconds to complete, so it should only be called from a worker thread.
Requires
Manifest.permission.MODIFY_PHONE_STATE
Parameters | |
---|---|
capability |
int : Value is either 0 or a combination of ImsRcsManager.CAPABILITY_TYPE_NONE , ImsRcsManager.CAPABILITY_TYPE_OPTIONS_UCE , and ImsRcsManager.CAPABILITY_TYPE_PRESENCE_UCE |
tech |
int : Value is ImsRegistrationImplBase.REGISTRATION_TECH_NONE , ImsRegistrationImplBase.REGISTRATION_TECH_LTE , ImsRegistrationImplBase.REGISTRATION_TECH_IWLAN , ImsRegistrationImplBase.REGISTRATION_TECH_CROSS_SIM , ImsRegistrationImplBase.REGISTRATION_TECH_NR , or ImsRegistrationImplBase.REGISTRATION_TECH_3G |
isProvisioned |
boolean : true if the device is provisioned for the RCS capability specified,
false otherwise. |
Throws | |
---|---|
UnsupportedOperationException |
If the device does not have
PackageManager#FEATURE_TELEPHONY_IMS . |
unregisterFeatureProvisioningChangedCallback
public void unregisterFeatureProvisioningChangedCallback (ProvisioningManager.FeatureProvisioningCallback callback)
Unregisters a previously registered FeatureProvisioningCallback
instance. When the subscription associated with this
callback is removed (SIM removed, ESIM swap, etc...), this callback will
automatically be removed. If this method is called for an inactive
subscription, it will result in a no-op.
Parameters | |
---|---|
callback |
ProvisioningManager.FeatureProvisioningCallback : The existing FeatureProvisioningCallback to be removed.
This value cannot be null . |
Throws | |
---|---|
UnsupportedOperationException |
If the device does not have
PackageManager#FEATURE_TELEPHONY_IMS . |
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2024-06-18 UTC.