public class SubscriptionManager extends Object
You do not instantiate this class directly; instead, you retrieve
a reference to an instance through from(android.content.Context)
.
All SDK public methods require android.Manifest.permission.READ_PHONE_STATE.
Modifier and Type | Class and Description |
---|---|
static class |
SubscriptionManager.OnSubscriptionsChangedListener
A listener class for monitoring changes to
SubscriptionInfo records. |
Modifier and Type | Field and Description |
---|---|
static String |
CARRIER_NAME |
static String |
CB_ALERT_REMINDER_INTERVAL
TelephonyProvider column name for alert reminder interval in CB settings
|
static String |
CB_ALERT_SOUND_DURATION
TelephonyProvider column name for alert sound duration in CB settings
|
static String |
CB_ALERT_SPEECH
TelephonyProvider column name for enabling alert speech in CB settings
|
static String |
CB_ALERT_VIBRATE
TelephonyProvider column name for enabling vibrate in CB settings
|
static String |
CB_AMBER_ALERT
TelephonyProvider column name for amber alert in CB settings
|
static String |
CB_CHANNEL_50_ALERT
TelephonyProvider column name for enable channel50 alert in CB settings
|
static String |
CB_CMAS_TEST_ALERT
TelephonyProvider column name for CMAS test alert in CB settings
|
static String |
CB_EMERGENCY_ALERT
TelephonyProvider column name for emergency alert in CB settings
|
static String |
CB_ETWS_TEST_ALERT
TelephonyProvider column name for ETWS test alert in CB settings
|
static String |
CB_EXTREME_THREAT_ALERT
TelephonyProvider column name for extreme threat in CB settings
|
static String |
CB_OPT_OUT_DIALOG
TelephonyProvider column name for Opt out dialog in CB settings
|
static String |
CB_SEVERE_THREAT_ALERT
TelephonyProvider column name for severe threat in CB settings
|
static String |
COLOR |
static int |
COLOR_1 |
static int |
COLOR_2 |
static int |
COLOR_3 |
static int |
COLOR_4 |
static int |
COLOR_DEFAULT |
static Uri |
CONTENT_URI |
static String |
DATA_ROAMING |
static int |
DATA_ROAMING_DEFAULT |
static int |
DATA_ROAMING_DISABLE
Indicates that data roaming is disabled for a subscription
|
static int |
DATA_ROAMING_ENABLE
Indicates that data roaming is enabled for a subscription
|
static int |
DEFAULT_NAME_RES
Default name resource
|
static int |
DEFAULT_PHONE_INDEX
Indicates the caller wants the default phone id.
|
static int |
DEFAULT_SIM_SLOT_INDEX |
static int |
DEFAULT_SUBSCRIPTION_ID |
static String |
DISPLAY_NAME |
static int |
DISPLAY_NUMBER_DEFAULT |
static int |
DISPLAY_NUMBER_FIRST |
static String |
DISPLAY_NUMBER_FORMAT |
static int |
DISPLAY_NUMBER_LAST |
static int |
DISPLAY_NUMBER_NONE |
static int |
DUMMY_SUBSCRIPTION_ID_BASE
FIXME: Remove DummySubId's, but for now have them map just below INVALID_SUBSCRIPTION_ID
/** @hide
|
static String |
ICC_ID |
static int |
INVALID_PHONE_INDEX |
static int |
INVALID_SIM_SLOT_INDEX |
static int |
INVALID_SUBSCRIPTION_ID
An invalid subscription identifier
|
static int |
MAX_SUBSCRIPTION_ID_VALUE |
static String |
MCC
TelephonyProvider column name for the MCC associated with a SIM.
|
static int |
MIN_SUBSCRIPTION_ID_VALUE |
static String |
MNC
TelephonyProvider column name for the MNC associated with a SIM.
|
static String |
NAME_SOURCE
TelephonyProvider column name for source of the user displayed name.
|
static int |
NAME_SOURCE_DEFAULT_SOURCE
The name_source is the default
|
static int |
NAME_SOURCE_SIM_SOURCE
The name_source is from the SIM
|
static int |
NAME_SOURCE_UNDEFINDED
The name_source is undefined
|
static int |
NAME_SOURCE_USER_INPUT
The name_source is from the user
|
static String |
NUMBER |
static int |
SIM_NOT_INSERTED |
static int |
SIM_PROVISIONED |
static String |
SIM_PROVISIONING_STATUS
TelephonyProvider column name for the sim provisioning status associated with a SIM.
|
static String |
SIM_SLOT_INDEX |
static String |
SUB_DEFAULT_CHANGED_ACTION
Broadcast Action: The user has changed one of the default subs related to
data, phone calls, or sms
TODO: Change to a listener
|
static String |
UNIQUE_KEY_SUBSCRIPTION_ID |
Constructor and Description |
---|
SubscriptionManager(Context context) |
Modifier and Type | Method and Description |
---|---|
void |
addOnSubscriptionsChangedListener(SubscriptionManager.OnSubscriptionsChangedListener listener)
Register for changes to the list of active
SubscriptionInfo records or to the
individual records themselves. |
Uri |
addSubscriptionInfoRecord(String iccId,
int slotId)
Add a new SubscriptionInfo to SubscriptionInfo database if needed
|
boolean |
allDefaultsSelected() |
void |
clearDefaultsForInactiveSubIds()
If a default is set to subscription which is not active, this will reset that default back to
an invalid subscription id, i.e. < 0.
|
void |
clearSubscriptionInfo() |
static SubscriptionManager |
from(Context context)
Get an instance of the SubscriptionManager from the Context.
|
int[] |
getActiveSubscriptionIdList() |
SubscriptionInfo |
getActiveSubscriptionInfo(int subId)
Get the active SubscriptionInfo with the input subId.
|
int |
getActiveSubscriptionInfoCount() |
int |
getActiveSubscriptionInfoCountMax() |
SubscriptionInfo |
getActiveSubscriptionInfoForIccIndex(String iccId)
Get the active SubscriptionInfo associated with the iccId
|
SubscriptionInfo |
getActiveSubscriptionInfoForSimSlotIndex(int slotIdx)
Get the active SubscriptionInfo associated with the slotIdx
|
List<SubscriptionInfo> |
getActiveSubscriptionInfoList()
Get the SubscriptionInfo(s) of the currently inserted SIM(s).
|
int |
getAllSubscriptionInfoCount() |
List<SubscriptionInfo> |
getAllSubscriptionInfoList() |
static boolean |
getBooleanSubscriptionProperty(int subId,
String propKey,
boolean defValue,
Context context)
Returns boolean value corresponding to query result.
|
int |
getDefaultDataPhoneId() |
static int |
getDefaultDataSubscriptionId()
Returns the system's default data subscription id.
|
SubscriptionInfo |
getDefaultDataSubscriptionInfo()
Return the SubscriptionInfo for default data subscription.
|
int |
getDefaultSmsPhoneId() |
static int |
getDefaultSmsSubscriptionId()
Returns the system's default SMS subscription id.
|
SubscriptionInfo |
getDefaultSmsSubscriptionInfo()
Return the SubscriptionInfo for default voice subscription.
|
static int |
getDefaultSubscriptionId()
Returns the system's default subscription id.
|
static int |
getDefaultVoicePhoneId() |
static int |
getDefaultVoiceSubscriptionId()
Returns the system's default voice subscription id.
|
SubscriptionInfo |
getDefaultVoiceSubscriptionInfo()
Return the SubscriptionInfo for default voice subscription.
|
static int |
getIntegerSubscriptionProperty(int subId,
String propKey,
int defValue,
Context context)
Returns integer value corresponding to query result.
|
static int |
getPhoneId(int subId) |
static Resources |
getResourcesForSubId(Context context,
int subId)
Returns the resources associated with Subscription.
|
static int |
getSimStateForSlotIdx(int slotIdx)
Returns a constant indicating the state of sim for the slot idx.
|
static int |
getSlotId(int subId)
Get slotId associated with the subscription.
|
static int[] |
getSubId(int slotId) |
boolean |
isActiveSubId(int subId) |
boolean |
isNetworkRoaming(int subId)
Returns true if the device is considered roaming on the current
network for a subscription.
|
static boolean |
isUsableSubIdValue(int subId) |
static boolean |
isValidPhoneId(int phoneId) |
static boolean |
isValidSlotId(int slotId) |
static boolean |
isValidSubscriptionId(int subId) |
static void |
putPhoneIdAndSubIdExtra(Intent intent,
int phoneId) |
static void |
putPhoneIdAndSubIdExtra(Intent intent,
int phoneId,
int subId) |
void |
removeOnSubscriptionsChangedListener(SubscriptionManager.OnSubscriptionsChangedListener listener)
Unregister the
SubscriptionManager.OnSubscriptionsChangedListener . |
int |
setDataRoaming(int roaming,
int subId)
Set data roaming by simInfo index
|
void |
setDefaultDataSubId(int subId) |
void |
setDefaultSmsSubId(int subId) |
void |
setDefaultVoiceSubId(int subId) |
int |
setDisplayName(String displayName,
int subId)
Set display name by simInfo index
|
int |
setDisplayName(String displayName,
int subId,
long nameSource)
Set display name by simInfo index with name source
|
int |
setDisplayNumber(String number,
int subId)
Set phone number by subId
|
int |
setIconTint(int tint,
int subId)
Set SIM icon tint color by simInfo index
|
static void |
setSubscriptionProperty(int subId,
String propKey,
String propValue)
Store properties associated with SubscriptionInfo in database
|
public static final int INVALID_SUBSCRIPTION_ID
public static final int DUMMY_SUBSCRIPTION_ID_BASE
public static final int INVALID_PHONE_INDEX
public static final int INVALID_SIM_SLOT_INDEX
public static final int DEFAULT_SUBSCRIPTION_ID
public static final int DEFAULT_PHONE_INDEX
public static final int DEFAULT_SIM_SLOT_INDEX
public static final int MIN_SUBSCRIPTION_ID_VALUE
public static final int MAX_SUBSCRIPTION_ID_VALUE
public static final Uri CONTENT_URI
public static final String UNIQUE_KEY_SUBSCRIPTION_ID
public static final String ICC_ID
public static final String SIM_SLOT_INDEX
public static final int SIM_NOT_INSERTED
public static final String DISPLAY_NAME
public static final String CARRIER_NAME
public static final int DEFAULT_NAME_RES
public static final String NAME_SOURCE
Type: INT (int)
with one of the NAME_SOURCE_XXXX values belowpublic static final int NAME_SOURCE_UNDEFINDED
public static final int NAME_SOURCE_DEFAULT_SOURCE
public static final int NAME_SOURCE_SIM_SOURCE
public static final int NAME_SOURCE_USER_INPUT
public static final String COLOR
public static final int COLOR_1
public static final int COLOR_2
public static final int COLOR_3
public static final int COLOR_4
public static final int COLOR_DEFAULT
public static final String NUMBER
public static final String DISPLAY_NUMBER_FORMAT
public static final int DISPLAY_NUMBER_NONE
public static final int DISPLAY_NUMBER_FIRST
public static final int DISPLAY_NUMBER_LAST
public static final int DISPLAY_NUMBER_DEFAULT
public static final String DATA_ROAMING
public static final int DATA_ROAMING_ENABLE
public static final int DATA_ROAMING_DISABLE
public static final int DATA_ROAMING_DEFAULT
public static final int SIM_PROVISIONED
public static final String MCC
Type: INTEGER (int)
public static final String MNC
Type: INTEGER (int)
public static final String SIM_PROVISIONING_STATUS
Type: INTEGER (int)
public static final String CB_EXTREME_THREAT_ALERT
public static final String CB_SEVERE_THREAT_ALERT
public static final String CB_AMBER_ALERT
public static final String CB_EMERGENCY_ALERT
public static final String CB_ALERT_SOUND_DURATION
public static final String CB_ALERT_REMINDER_INTERVAL
public static final String CB_ALERT_VIBRATE
public static final String CB_ALERT_SPEECH
public static final String CB_ETWS_TEST_ALERT
public static final String CB_CHANNEL_50_ALERT
public static final String CB_CMAS_TEST_ALERT
public static final String CB_OPT_OUT_DIALOG
public static final String SUB_DEFAULT_CHANGED_ACTION
public SubscriptionManager(Context context)
public static SubscriptionManager from(Context context)
Context.getSystemService(Context.TELEPHONY_SUBSCRIPTION_SERVICE)
.context
- to use.public void addOnSubscriptionsChangedListener(SubscriptionManager.OnSubscriptionsChangedListener listener)
SubscriptionInfo
records or to the
individual records themselves. When a change occurs the onSubscriptionsChanged method of
the listener will be invoked immediately if there has been a notification.listener
- an instance of SubscriptionManager.OnSubscriptionsChangedListener
with
onSubscriptionsChanged overridden.public void removeOnSubscriptionsChangedListener(SubscriptionManager.OnSubscriptionsChangedListener listener)
SubscriptionManager.OnSubscriptionsChangedListener
. This is not strictly necessary
as the listener will automatically be unregistered if an attempt to invoke the listener
fails.listener
- that is to be unregistered.public SubscriptionInfo getActiveSubscriptionInfo(int subId)
subId
- The unique SubscriptionInfo key in database.public SubscriptionInfo getActiveSubscriptionInfoForIccIndex(String iccId)
iccId
- the IccId of SIM cardpublic SubscriptionInfo getActiveSubscriptionInfoForSimSlotIndex(int slotIdx)
slotIdx
- the slot which the subscription is insertedpublic List<SubscriptionInfo> getAllSubscriptionInfoList()
public List<SubscriptionInfo> getActiveSubscriptionInfoList()
SubscriptionInfo.getSimSlotIndex()
then by SubscriptionInfo.getSubscriptionId()
.SubscriptionInfo
records available on the device.
SubscriptionManager.OnSubscriptionsChangedListener
has been registered SubscriptionManager.OnSubscriptionsChangedListener.onSubscriptionsChanged()
will be
invoked in the future.
SubscriptionInfo
records currently available.
SubscriptionInfo.getSimSlotIndex()
then by SubscriptionInfo.getSubscriptionId()
.
public int getAllSubscriptionInfoCount()
public int getActiveSubscriptionInfoCount()
getActiveSubscriptionInfoList()
.public int getActiveSubscriptionInfoCountMax()
getActiveSubscriptionInfoList()
and the value returned by
getActiveSubscriptionInfoCount()
.public Uri addSubscriptionInfoRecord(String iccId, int slotId)
iccId
- the IccId of the SIM cardslotId
- the slot which the SIM is insertedpublic int setIconTint(int tint, int subId)
tint
- the RGB value of icon tint color of the SIMsubId
- the unique SubInfoRecord index in databasepublic int setDisplayName(String displayName, int subId)
displayName
- the display name of SIM cardsubId
- the unique SubscriptionInfo index in databasepublic int setDisplayName(String displayName, int subId, long nameSource)
displayName
- the display name of SIM cardsubId
- the unique SubscriptionInfo index in databasenameSource
- 0: NAME_SOURCE_DEFAULT_SOURCE, 1: NAME_SOURCE_SIM_SOURCE,
2: NAME_SOURCE_USER_INPUT, -1 NAME_SOURCE_UNDEFINEDpublic int setDisplayNumber(String number, int subId)
number
- the phone number of the SIMsubId
- the unique SubscriptionInfo index in databasepublic int setDataRoaming(int roaming, int subId)
roaming
- 0:Don't allow data when roaming, 1:Allow data when roamingsubId
- the unique SubscriptionInfo index in databasepublic static int getSlotId(int subId)
public static int[] getSubId(int slotId)
public static int getPhoneId(int subId)
public static int getDefaultSubscriptionId()
public static int getDefaultVoiceSubscriptionId()
public void setDefaultVoiceSubId(int subId)
public SubscriptionInfo getDefaultVoiceSubscriptionInfo()
public static int getDefaultVoicePhoneId()
public static int getDefaultSmsSubscriptionId()
public void setDefaultSmsSubId(int subId)
public SubscriptionInfo getDefaultSmsSubscriptionInfo()
public int getDefaultSmsPhoneId()
public static int getDefaultDataSubscriptionId()
public void setDefaultDataSubId(int subId)
public SubscriptionInfo getDefaultDataSubscriptionInfo()
public int getDefaultDataPhoneId()
public void clearSubscriptionInfo()
public boolean allDefaultsSelected()
public void clearDefaultsForInactiveSubIds()
public static boolean isValidSubscriptionId(int subId)
public static boolean isUsableSubIdValue(int subId)
public static boolean isValidSlotId(int slotId)
public static boolean isValidPhoneId(int phoneId)
public static void putPhoneIdAndSubIdExtra(Intent intent, int phoneId)
public static void putPhoneIdAndSubIdExtra(Intent intent, int phoneId, int subId)
public int[] getActiveSubscriptionIdList()
public boolean isNetworkRoaming(int subId)
Availability: Only when user registered to a network.
subId
- The subscription IDpublic static int getSimStateForSlotIdx(int slotIdx)
slotIdx
-
public static void setSubscriptionProperty(int subId, String propKey, String propValue)
subId
- Subscription Id of SubscriptionpropKey
- Column name in database associated with SubscriptionInfopropValue
- Value to store in DB for particular subId & column namepublic static boolean getBooleanSubscriptionProperty(int subId, String propKey, boolean defValue, Context context)
subId
- Subscription Id of SubscriptionpropKey
- Column name in SubscriptionInfo databasedefValue
- Default boolean value to be returnedpublic static int getIntegerSubscriptionProperty(int subId, String propKey, int defValue, Context context)
subId
- Subscription Id of SubscriptionpropKey
- Column name in SubscriptionInfo databasedefValue
- Default integer value to be returnedpublic static Resources getResourcesForSubId(Context context, int subId)
context
- Context objectsubId
- Subscription Id of Subscription who's resources are requiredpublic boolean isActiveSubId(int subId)