TelephonyIntents.java revision 627bc36eb7827c5a72f5a8ecb085028fb485f72f
1/* 2 * Copyright (C) 2008 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17package com.android.internal.telephony; 18 19/** 20 * The intents that the telephony services broadcast. 21 * 22 * <p class="warning"> 23 * THESE ARE NOT THE API! Use the {@link android.telephony.TelephonyManager} class. 24 * DON'T LISTEN TO THESE DIRECTLY. 25 */ 26public class TelephonyIntents { 27 28 /** 29 * Broadcast Action: The phone service state has changed. The intent will have the following 30 * extra values:</p> 31 * <ul> 32 * <li><em>state</em> - An int with one of the following values: 33 * {@link android.telephony.ServiceState#STATE_IN_SERVICE}, 34 * {@link android.telephony.ServiceState#STATE_OUT_OF_SERVICE}, 35 * {@link android.telephony.ServiceState#STATE_EMERGENCY_ONLY} 36 * or {@link android.telephony.ServiceState#STATE_POWER_OFF} 37 * <li><em>roaming</em> - A boolean value indicating whether the phone is roaming.</li> 38 * <li><em>operator-alpha-long</em> - The carrier name as a string.</li> 39 * <li><em>operator-alpha-short</em> - A potentially shortened version of the carrier name, 40 * as a string.</li> 41 * <li><em>operator-numeric</em> - A number representing the carrier, as a string. This is 42 * a five or six digit number consisting of the MCC (Mobile Country Code, 3 digits) 43 * and MNC (Mobile Network code, 2-3 digits).</li> 44 * <li><em>manual</em> - A boolean, where true indicates that the user has chosen to select 45 * the network manually, and false indicates that network selection is handled by the 46 * phone.</li> 47 * </ul> 48 * 49 * <p class="note"> 50 * Requires the READ_PHONE_STATE permission. 51 * 52 * <p class="note">This is a protected intent that can only be sent 53 * by the system. 54 */ 55 public static final String ACTION_SERVICE_STATE_CHANGED = "android.intent.action.SERVICE_STATE"; 56 57 /** 58 * <p>Broadcast Action: The radio technology has changed. The intent will have the following 59 * extra values:</p> 60 * <ul> 61 * <li><em>phoneName</em> - A string version of the new phone name.</li> 62 * </ul> 63 * 64 * <p class="note"> 65 * You can <em>not</em> receive this through components declared 66 * in manifests, only by explicitly registering for it with 67 * {@link android.content.Context#registerReceiver(android.content.BroadcastReceiver, 68 * android.content.IntentFilter) Context.registerReceiver()}. 69 * 70 * <p class="note"> 71 * Requires no permission. 72 * 73 * <p class="note">This is a protected intent that can only be sent 74 * by the system. 75 */ 76 public static final String ACTION_RADIO_TECHNOLOGY_CHANGED 77 = "android.intent.action.RADIO_TECHNOLOGY"; 78 /** 79 * <p>Broadcast Action: The emergency callback mode is changed. 80 * <ul> 81 * <li><em>phoneinECMState</em> - A boolean value,true=phone in ECM, false=ECM off</li> 82 * </ul> 83 * <p class="note"> 84 * You can <em>not</em> receive this through components declared 85 * in manifests, only by explicitly registering for it with 86 * {@link android.content.Context#registerReceiver(android.content.BroadcastReceiver, 87 * android.content.IntentFilter) Context.registerReceiver()}. 88 * 89 * <p class="note"> 90 * Requires no permission. 91 * 92 * <p class="note">This is a protected intent that can only be sent 93 * by the system. 94 */ 95 public static final String ACTION_EMERGENCY_CALLBACK_MODE_CHANGED 96 = "android.intent.action.EMERGENCY_CALLBACK_MODE_CHANGED"; 97 /** 98 * Broadcast Action: The phone's signal strength has changed. The intent will have the 99 * following extra values:</p> 100 * <ul> 101 * <li><em>phoneName</em> - A string version of the phone name.</li> 102 * <li><em>asu</em> - A numeric value for the signal strength. 103 * An ASU is 0-31 or -1 if unknown (for GSM, dBm = -113 - 2 * asu). 104 * The following special values are defined: 105 * <ul><li>0 means "-113 dBm or less".</li><li>31 means "-51 dBm or greater".</li></ul> 106 * </li> 107 * </ul> 108 * 109 * <p class="note"> 110 * You can <em>not</em> receive this through components declared 111 * in manifests, only by exlicitly registering for it with 112 * {@link android.content.Context#registerReceiver(android.content.BroadcastReceiver, 113 * android.content.IntentFilter) Context.registerReceiver()}. 114 * 115 * <p class="note"> 116 * Requires the READ_PHONE_STATE permission. 117 * 118 * <p class="note">This is a protected intent that can only be sent 119 * by the system. 120 */ 121 public static final String ACTION_SIGNAL_STRENGTH_CHANGED = "android.intent.action.SIG_STR"; 122 123 124 /** 125 * Broadcast Action: The data connection state has changed for any one of the 126 * phone's mobile data connections (eg, default, MMS or GPS specific connection). 127 * The intent will have the following extra values:</p> 128 * <dl> 129 * <dt>phoneName</dt><dd>A string version of the phone name.</dd> 130 * <dt>state</dt><dd>One of {@code CONNECTED}, {@code CONNECTING}, 131 * or {@code DISCONNECTED}.</dd> 132 * <dt>apn</dt><dd>A string that is the APN associated with this connection.</dd> 133 * <dt>apnType</dt><dd>A string array of APN types associated with this connection. 134 * The APN type {@code *} is a special type that means this APN services all types.</dd> 135 * </dl> 136 * 137 * <p class="note"> 138 * Requires the READ_PHONE_STATE permission. 139 * 140 * <p class="note">This is a protected intent that can only be sent 141 * by the system. 142 */ 143 public static final String ACTION_ANY_DATA_CONNECTION_STATE_CHANGED 144 = "android.intent.action.ANY_DATA_STATE"; 145 146 /** 147 * Broadcast Action: An attempt to establish a data connection has failed. 148 * The intent will have the following extra values:</p> 149 * <dl> 150 * <dt>phoneName</dt><dd>A string version of the phone name.</dd> 151 * <dt>state</dt><dd>One of {@code CONNECTED}, {@code CONNECTING}, or {code DISCONNECTED}.</dd> 152 * <dt>reason</dt><dd>A string indicating the reason for the failure, if available.</dd> 153 * </dl> 154 * 155 * <p class="note"> 156 * Requires the READ_PHONE_STATE permission. 157 * 158 * <p class="note">This is a protected intent that can only be sent 159 * by the system. 160 */ 161 public static final String ACTION_DATA_CONNECTION_FAILED 162 = "android.intent.action.DATA_CONNECTION_FAILED"; 163 164 165 /** 166 * Broadcast Action: The sim card state has changed. 167 * The intent will have the following extra values:</p> 168 * <dl> 169 * <dt>phoneName</dt><dd>A string version of the phone name.</dd> 170 * <dt>ss</dt><dd>The sim state. One of: 171 * <dl> 172 * <dt>{@code ABSENT}</dt><dd>SIM card not found</dd> 173 * <dt>{@code LOCKED}</dt><dd>SIM card locked (see {@code reason})</dd> 174 * <dt>{@code READY}</dt><dd>SIM card ready</dd> 175 * <dt>{@code IMSI}</dt><dd>FIXME: what is this state?</dd> 176 * <dt>{@code LOADED}</dt><dd>SIM card data loaded</dd> 177 * </dl></dd> 178 * <dt>reason</dt><dd>The reason why ss is {@code LOCKED}; null otherwise.</dd> 179 * <dl> 180 * <dt>{@code PIN}</dt><dd>locked on PIN1</dd> 181 * <dt>{@code PUK}</dt><dd>locked on PUK1</dd> 182 * <dt>{@code NETWORK}</dt><dd>locked on network personalization</dd> 183 * </dl> 184 * </dl> 185 * 186 * <p class="note"> 187 * Requires the READ_PHONE_STATE permission. 188 * 189 * <p class="note">This is a protected intent that can only be sent 190 * by the system. 191 */ 192 public static final String ACTION_SIM_STATE_CHANGED 193 = "android.intent.action.SIM_STATE_CHANGED"; 194 195 196 /** 197 * Broadcast Action: The time was set by the carrier (typically by the NITZ string). 198 * This is a sticky broadcast. 199 * The intent will have the following extra values:</p> 200 * <ul> 201 * <li><em>time</em> - The time as a long in UTC milliseconds.</li> 202 * </ul> 203 * 204 * <p class="note"> 205 * Requires the READ_PHONE_STATE permission. 206 * 207 * <p class="note">This is a protected intent that can only be sent 208 * by the system. 209 */ 210 public static final String ACTION_NETWORK_SET_TIME = "android.intent.action.NETWORK_SET_TIME"; 211 212 213 /** 214 * Broadcast Action: The timezone was set by the carrier (typically by the NITZ string). 215 * This is a sticky broadcast. 216 * The intent will have the following extra values:</p> 217 * <ul> 218 * <li><em>time-zone</em> - The java.util.TimeZone.getID() value identifying the new time 219 * zone.</li> 220 * </ul> 221 * 222 * <p class="note"> 223 * Requires the READ_PHONE_STATE permission. 224 * 225 * <p class="note">This is a protected intent that can only be sent 226 * by the system. 227 */ 228 public static final String ACTION_NETWORK_SET_TIMEZONE 229 = "android.intent.action.NETWORK_SET_TIMEZONE"; 230 231 /** 232 * <p>Broadcast Action: It indicates the Emergency callback mode blocks datacall/sms 233 * <p class="note">. 234 * This is to pop up a notice to show user that the phone is in emergency callback mode 235 * and atacalls and outgoing sms are blocked. 236 * 237 * <p class="note">This is a protected intent that can only be sent 238 * by the system. 239 */ 240 public static final String ACTION_SHOW_NOTICE_ECM_BLOCK_OTHERS 241 = "android.intent.action.ACTION_SHOW_NOTICE_ECM_BLOCK_OTHERS"; 242 243 /** 244 * Activity Action: Start this activity to invoke the carrier setup app. 245 * The carrier app must be signed using a certificate that matches the UICC access rules. 246 * 247 * <p class="note">Callers of this should hold the android.permission.INVOKE_CARRIER_SETUP 248 * permission.</p> 249 */ 250 public static final String ACTION_CARRIER_SETUP = "android.intent.action.ACTION_CARRIER_SETUP"; 251 252 /** 253 * <p>Broadcast Action: Indicates that the action is forbidden by network. 254 * <p class="note"> 255 * This is for the OEM applications to understand about possible provisioning issues. 256 * Used in OMA-DM applications. 257 */ 258 public static final String ACTION_FORBIDDEN_NO_SERVICE_AUTHORIZATION 259 = "android.intent.action.ACTION_FORBIDDEN_NO_SERVICE_AUTHORIZATION"; 260 261 /** 262 * Broadcast Action: A "secret code" has been entered in the dialer. Secret codes are 263 * of the form {@code *#*#<code>#*#*}. The intent will have the data URI: 264 * 265 * {@code android_secret_code://<code>} 266 */ 267 public static final String SECRET_CODE_ACTION = "android.provider.Telephony.SECRET_CODE"; 268 269 /** 270 * Broadcast Action: The Service Provider string(s) have been updated. Activities or 271 * services that use these strings should update their display. 272 * The intent will have the following extra values:</p> 273 * 274 * <dl> 275 * <dt>showPlmn</dt><dd>Boolean that indicates whether the PLMN should be shown.</dd> 276 * <dt>plmn</dt><dd>The operator name of the registered network, as a string.</dd> 277 * <dt>showSpn</dt><dd>Boolean that indicates whether the SPN should be shown.</dd> 278 * <dt>spn</dt><dd>The service provider name, as a string.</dd> 279 * </dl> 280 * 281 * Note that <em>showPlmn</em> may indicate that <em>plmn</em> should be displayed, even 282 * though the value for <em>plmn</em> is null. This can happen, for example, if the phone 283 * has not registered to a network yet. In this case the receiver may substitute an 284 * appropriate placeholder string (eg, "No service"). 285 * 286 * It is recommended to display <em>plmn</em> before / above <em>spn</em> if 287 * both are displayed. 288 * 289 * <p>Note: this is a protected intent that can only be sent by the system. 290 */ 291 public static final String SPN_STRINGS_UPDATED_ACTION = 292 "android.provider.Telephony.SPN_STRINGS_UPDATED"; 293 294 public static final String EXTRA_SHOW_PLMN = "showPlmn"; 295 public static final String EXTRA_PLMN = "plmn"; 296 public static final String EXTRA_SHOW_SPN = "showSpn"; 297 public static final String EXTRA_SPN = "spn"; 298 public static final String EXTRA_DATA_SPN = "spnData"; 299 300 /** 301 * <p>Broadcast Action: It indicates one column of a subinfo record has been changed 302 * <p class="note">This is a protected intent that can only be sent 303 * by the system. 304 */ 305 public static final String ACTION_SUBINFO_CONTENT_CHANGE 306 = "android.intent.action.ACTION_SUBINFO_CONTENT_CHANGE"; 307 308 /** 309 * <p>Broadcast Action: It indicates subinfo record update is completed 310 * when SIM inserted state change 311 * <p class="note">This is a protected intent that can only be sent 312 * by the system. 313 */ 314 public static final String ACTION_SUBINFO_RECORD_UPDATED 315 = "android.intent.action.ACTION_SUBINFO_RECORD_UPDATED"; 316 317 /** 318 * Broadcast Action: The default subscription has changed. This has the following 319 * extra values:</p> 320 * <ul> 321 * <li><em>subscription</em> - A int, the current default subscription.</li> 322 * </ul> 323 */ 324 public static final String ACTION_DEFAULT_SUBSCRIPTION_CHANGED 325 = "android.intent.action.ACTION_DEFAULT_SUBSCRIPTION_CHANGED"; 326 327 /** 328 * Broadcast Action: The default data subscription has changed. This has the following 329 * extra values:</p> 330 * <ul> 331 * <li><em>subscription</em> - A int, the current data default subscription.</li> 332 * </ul> 333 */ 334 public static final String ACTION_DEFAULT_DATA_SUBSCRIPTION_CHANGED 335 = "android.intent.action.ACTION_DEFAULT_DATA_SUBSCRIPTION_CHANGED"; 336 337 /** 338 * Broadcast Action: The default voice subscription has changed. This has the following 339 * extra values:</p> 340 * <ul> 341 * <li><em>subscription</em> - A int, the current voice default subscription.</li> 342 * </ul> 343 */ 344 public static final String ACTION_DEFAULT_VOICE_SUBSCRIPTION_CHANGED 345 = "android.intent.action.ACTION_DEFAULT_VOICE_SUBSCRIPTION_CHANGED"; 346 347 /** 348 * Broadcast Action: The default sms subscription has changed. This has the following 349 * extra values:</p> 350 * <ul> 351 * <li><em>subscription</em> - A int, the current sms default subscription.</li> 352 * </ul> 353 */ 354 public static final String ACTION_DEFAULT_SMS_SUBSCRIPTION_CHANGED 355 = "android.intent.action.ACTION_DEFAULT_SMS_SUBSCRIPTION_CHANGED"; 356 357 /* 358 * Broadcast Action: An attempt to set phone radio type and access technology has changed. 359 * This has the following extra values: 360 * <ul> 361 * <li><em>phones radio access family </em> - A RadioAccessFamily 362 * array, contain phone ID and new radio access family for each phone.</li> 363 * </ul> 364 */ 365 public static final String ACTION_SET_RADIO_CAPABILITY_DONE = 366 "android.intent.action.ACTION_SET_RADIO_CAPABILITY_DONE"; 367 368 public static final String EXTRA_RADIO_ACCESS_FAMILY = "rafs"; 369 370 /* 371 * Broadcast Action: An attempt to set phone radio access family has failed. 372 */ 373 public static final String ACTION_SET_RADIO_CAPABILITY_FAILED = 374 "android.intent.action.ACTION_SET_RADIO_CAPABILITY_FAILED"; 375} 376