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 17 package 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 */ 26 public 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 * <ul> 129 * <li><em>phoneName</em> - A string version of the phone name.</li> 130 * <li><em>state</em> - One of <code>"CONNECTED"</code> 131 * <code>"CONNECTING"</code> or <code>"DISCONNNECTED"</code></li> 132 * <li><em>apn</em> - A string that is the APN associated with this 133 * connection.</li> 134 * <li><em>apnType</em> - A string array of APN types associated with 135 * this connection. The APN type <code>"*"</code> is a special 136 * type that means this APN services all types.</li> 137 * </ul> 138 * 139 * <p class="note"> 140 * Requires the READ_PHONE_STATE permission. 141 * 142 * <p class="note">This is a protected intent that can only be sent 143 * by the system. 144 */ 145 public static final String ACTION_ANY_DATA_CONNECTION_STATE_CHANGED 146 = "android.intent.action.ANY_DATA_STATE"; 147 148 /** 149 * Broadcast Action: Occurs when a data connection connects to a provisioning apn 150 * and is broadcast by the low level data connection code. 151 * The intent will have the following extra values:</p> 152 * <ul> 153 * <li><em>apn</em> - A string that is the APN associated with this 154 * connection.</li> 155 * <li><em>apnType</em> - A string array of APN types associated with 156 * this connection. The APN type <code>"*"</code> is a special 157 * type that means this APN services all types.</li> 158 * <li><em>linkProperties</em> - The <code>LinkProperties</code> for this APN</li> 159 * <li><em>linkCapabilities</em> - The <code>linkCapabilities</code> for this APN</li> 160 * <li><em>iface</em> - A string that is the name of the interface</li> 161 * </ul> 162 * 163 * <p class="note"> 164 * Requires the READ_PHONE_STATE permission. 165 * 166 * <p class="note">This is a protected intent that can only be sent 167 * by the system. 168 */ 169 public static final String ACTION_DATA_CONNECTION_CONNECTED_TO_PROVISIONING_APN 170 = "android.intent.action.DATA_CONNECTION_CONNECTED_TO_PROVISIONING_APN"; 171 172 /** 173 * Broadcast Action: An attempt to establish a data connection has failed. 174 * The intent will have the following extra values:</p> 175 * <ul> 176 * <li><em>phoneName</em> &mdash A string version of the phone name.</li> 177 * <li><em>state</em> — One of <code>"CONNECTED"</code> 178 * <code>"CONNECTING"</code> or <code>"DISCONNNECTED"</code></li> 179 * <li><em>reason</em> — A string indicating the reason for the failure, if available</li> 180 * </ul> 181 * 182 * <p class="note"> 183 * Requires the READ_PHONE_STATE permission. 184 * 185 * <p class="note">This is a protected intent that can only be sent 186 * by the system. 187 */ 188 public static final String ACTION_DATA_CONNECTION_FAILED 189 = "android.intent.action.DATA_CONNECTION_FAILED"; 190 191 192 /** 193 * Broadcast Action: The sim card state has changed. 194 * The intent will have the following extra values:</p> 195 * <ul> 196 * <li><em>phoneName</em> - A string version of the phone name.</li> 197 * <li><em>ss</em> - The sim state. One of 198 * <code>"ABSENT"</code> <code>"LOCKED"</code> 199 * <code>"READY"</code> <code>"ISMI"</code> <code>"LOADED"</code> </li> 200 * <li><em>reason</em> - The reason while ss is LOCKED, otherwise is null 201 * <code>"PIN"</code> locked on PIN1 202 * <code>"PUK"</code> locked on PUK1 203 * <code>"NETWORK"</code> locked on Network Personalization </li> 204 * </ul> 205 * 206 * <p class="note"> 207 * Requires the READ_PHONE_STATE permission. 208 * 209 * <p class="note">This is a protected intent that can only be sent 210 * by the system. 211 */ 212 public static final String ACTION_SIM_STATE_CHANGED 213 = "android.intent.action.SIM_STATE_CHANGED"; 214 215 216 /** 217 * Broadcast Action: The time was set by the carrier (typically by the NITZ string). 218 * This is a sticky broadcast. 219 * The intent will have the following extra values:</p> 220 * <ul> 221 * <li><em>time</em> - The time as a long in UTC milliseconds.</li> 222 * </ul> 223 * 224 * <p class="note"> 225 * Requires the READ_PHONE_STATE permission. 226 * 227 * <p class="note">This is a protected intent that can only be sent 228 * by the system. 229 */ 230 public static final String ACTION_NETWORK_SET_TIME = "android.intent.action.NETWORK_SET_TIME"; 231 232 233 /** 234 * Broadcast Action: The timezone was set by the carrier (typically by the NITZ string). 235 * This is a sticky broadcast. 236 * The intent will have the following extra values:</p> 237 * <ul> 238 * <li><em>time-zone</em> - The java.util.TimeZone.getID() value identifying the new time 239 * zone.</li> 240 * </ul> 241 * 242 * <p class="note"> 243 * Requires the READ_PHONE_STATE permission. 244 * 245 * <p class="note">This is a protected intent that can only be sent 246 * by the system. 247 */ 248 public static final String ACTION_NETWORK_SET_TIMEZONE 249 = "android.intent.action.NETWORK_SET_TIMEZONE"; 250 251 /** 252 * <p>Broadcast Action: It indicates the Emergency callback mode blocks datacall/sms 253 * <p class="note">. 254 * This is to pop up a notice to show user that the phone is in emergency callback mode 255 * and atacalls and outgoing sms are blocked. 256 * 257 * <p class="note">This is a protected intent that can only be sent 258 * by the system. 259 */ 260 public static final String ACTION_SHOW_NOTICE_ECM_BLOCK_OTHERS 261 = "android.intent.action.ACTION_SHOW_NOTICE_ECM_BLOCK_OTHERS"; 262 263 264 /** 265 * Broadcast Action: A "secret code" has been entered in the dialer. Secret codes are 266 * of the form *#*#<code>#*#*. The intent will have the data URI:</p> 267 * 268 * <p><code>android_secret_code://<code></code></p> 269 */ 270 public static final String SECRET_CODE_ACTION = 271 "android.provider.Telephony.SECRET_CODE"; 272 273 /** 274 * Broadcast Action: The Service Provider string(s) have been updated. Activities or 275 * services that use these strings should update their display. 276 * The intent will have the following extra values:</p> 277 * <ul> 278 * <li><em>showPlmn</em> - Boolean that indicates whether the PLMN should be shown.</li> 279 * <li><em>plmn</em> - The operator name of the registered network, as a string.</li> 280 * <li><em>showSpn</em> - Boolean that indicates whether the SPN should be shown.</li> 281 * <li><em>spn</em> - The service provider name, as a string.</li> 282 * </ul> 283 * Note that <em>showPlmn</em> may indicate that <em>plmn</em> should be displayed, even 284 * though the value for <em>plmn</em> is null. This can happen, for example, if the phone 285 * has not registered to a network yet. In this case the receiver may substitute an 286 * appropriate placeholder string (eg, "No service"). 287 * 288 * It is recommended to display <em>plmn</em> before / above <em>spn</em> if 289 * both are displayed. 290 * 291 * <p>Note this is a protected intent that can only be sent 292 * by the system. 293 */ 294 public static final String SPN_STRINGS_UPDATED_ACTION = 295 "android.provider.Telephony.SPN_STRINGS_UPDATED"; 296 297 public static final String EXTRA_SHOW_PLMN = "showPlmn"; 298 public static final String EXTRA_PLMN = "plmn"; 299 public static final String EXTRA_SHOW_SPN = "showSpn"; 300 public static final String EXTRA_SPN = "spn"; 301 } 302