AndroidManifest.xml revision b616f0c239ad61f818741909821b86aceff60b60
1<?xml version="1.0" encoding="utf-8"?>
2<!--
3/* //device/apps/common/AndroidManifest.xml
4**
5** Copyright 2006, The Android Open Source Project
6**
7** Licensed under the Apache License, Version 2.0 (the "License");
8** you may not use this file except in compliance with the License.
9** You may obtain a copy of the License at
10**
11**     http://www.apache.org/licenses/LICENSE-2.0
12**
13** Unless required by applicable law or agreed to in writing, software
14** distributed under the License is distributed on an "AS IS" BASIS,
15** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16** See the License for the specific language governing permissions and
17** limitations under the License.
18*/
19-->
20<manifest xmlns:android="http://schemas.android.com/apk/res/android"
21    package="android" coreApp="true" android:sharedUserId="android.uid.system"
22    android:sharedUserLabel="@string/android_system_label">
23
24    <!-- ================================================ -->
25    <!-- Special broadcasts that only the system can send -->
26    <!-- ================================================ -->
27    <eat-comment />
28
29    <protected-broadcast android:name="android.intent.action.SCREEN_OFF" />
30    <protected-broadcast android:name="android.intent.action.SCREEN_ON" />
31    <protected-broadcast android:name="android.intent.action.USER_PRESENT" />
32    <protected-broadcast android:name="android.intent.action.TIME_TICK" />
33    <protected-broadcast android:name="android.intent.action.TIMEZONE_CHANGED" />
34    <protected-broadcast android:name="android.intent.action.BOOT_COMPLETED" />
35    <protected-broadcast android:name="android.intent.action.PACKAGE_INSTALL" />
36    <protected-broadcast android:name="android.intent.action.PACKAGE_ADDED" />
37    <protected-broadcast android:name="android.intent.action.PACKAGE_REPLACED" />
38    <protected-broadcast android:name="android.intent.action.MY_PACKAGE_REPLACED" />
39    <protected-broadcast android:name="android.intent.action.PACKAGE_REMOVED" />
40    <protected-broadcast android:name="android.intent.action.PACKAGE_FULLY_REMOVED" />
41    <protected-broadcast android:name="android.intent.action.PACKAGE_CHANGED" />
42    <protected-broadcast android:name="android.intent.action.PACKAGE_RESTARTED" />
43    <protected-broadcast android:name="android.intent.action.PACKAGE_DATA_CLEARED" />
44    <protected-broadcast android:name="android.intent.action.PACKAGE_FIRST_LAUNCH" />
45    <protected-broadcast android:name="android.intent.action.PACKAGE_NEEDS_VERIFICATION" />
46    <protected-broadcast android:name="android.intent.action.PACKAGE_VERIFIED" />
47    <protected-broadcast android:name="android.intent.action.UID_REMOVED" />
48    <protected-broadcast android:name="android.intent.action.QUERY_PACKAGE_RESTART" />
49    <protected-broadcast android:name="android.intent.action.CONFIGURATION_CHANGED" />
50    <protected-broadcast android:name="android.intent.action.LOCALE_CHANGED" />
51    <protected-broadcast android:name="android.intent.action.BATTERY_CHANGED" />
52    <protected-broadcast android:name="android.intent.action.BATTERY_LOW" />
53    <protected-broadcast android:name="android.intent.action.BATTERY_OKAY" />
54    <protected-broadcast android:name="android.intent.action.ACTION_POWER_CONNECTED" />
55    <protected-broadcast android:name="android.intent.action.ACTION_POWER_DISCONNECTED" />
56    <protected-broadcast android:name="android.intent.action.ACTION_SHUTDOWN" />
57    <protected-broadcast android:name="android.intent.action.DEVICE_STORAGE_LOW" />
58    <protected-broadcast android:name="android.intent.action.DEVICE_STORAGE_OK" />
59    <protected-broadcast android:name="android.intent.action.DEVICE_STORAGE_FULL" />
60    <protected-broadcast android:name="android.intent.action.DEVICE_STORAGE_NOT_FULL" />
61    <protected-broadcast android:name="android.intent.action.NEW_OUTGOING_CALL" />
62    <protected-broadcast android:name="android.intent.action.REBOOT" />
63    <protected-broadcast android:name="android.intent.action.DOCK_EVENT" />
64    <protected-broadcast android:name="android.intent.action.MASTER_CLEAR_NOTIFICATION" />
65    <protected-broadcast android:name="android.intent.action.USER_ADDED" />
66    <protected-broadcast android:name="android.intent.action.USER_REMOVED" />
67    <protected-broadcast android:name="android.intent.action.USER_STOPPED" />
68    <protected-broadcast android:name="android.intent.action.USER_BACKGROUND" />
69    <protected-broadcast android:name="android.intent.action.USER_FOREGROUND" />
70    <protected-broadcast android:name="android.intent.action.USER_SWITCHED" />
71
72    <protected-broadcast android:name="android.app.action.ENTER_CAR_MODE" />
73    <protected-broadcast android:name="android.app.action.EXIT_CAR_MODE" />
74    <protected-broadcast android:name="android.app.action.ENTER_DESK_MODE" />
75    <protected-broadcast android:name="android.app.action.EXIT_DESK_MODE" />
76
77    <protected-broadcast android:name="android.backup.intent.RUN" />
78    <protected-broadcast android:name="android.backup.intent.CLEAR" />
79    <protected-broadcast android:name="android.backup.intent.INIT" />
80
81    <protected-broadcast android:name="android.bluetooth.adapter.action.STATE_CHANGED" />
82    <protected-broadcast android:name="android.bluetooth.adapter.action.SCAN_MODE_CHANGED" />
83    <protected-broadcast android:name="android.bluetooth.adapter.action.DISCOVERY_STARTED" />
84    <protected-broadcast android:name="android.bluetooth.adapter.action.DISCOVERY_FINISHED" />
85    <protected-broadcast android:name="android.bluetooth.adapter.action.LOCAL_NAME_CHANGED" />
86    <protected-broadcast android:name="android.bluetooth.adapter.action.CONNECTION_STATE_CHANGED" />
87    <protected-broadcast android:name="android.bluetooth.device.action.FOUND" />
88    <protected-broadcast android:name="android.bluetooth.device.action.DISAPPEARED" />
89    <protected-broadcast android:name="android.bluetooth.device.action.CLASS_CHANGED" />
90    <protected-broadcast android:name="android.bluetooth.device.action.ACL_CONNECTED" />
91    <protected-broadcast android:name="android.bluetooth.device.action.ACL_DISCONNECT_REQUESTED" />
92    <protected-broadcast android:name="android.bluetooth.device.action.ACL_DISCONNECTED" />
93    <protected-broadcast android:name="android.bluetooth.device.action.NAME_CHANGED" />
94    <protected-broadcast android:name="android.bluetooth.device.action.BOND_STATE_CHANGED" />
95    <protected-broadcast android:name="android.bluetooth.device.action.NAME_FAILED" />
96    <protected-broadcast android:name="android.bluetooth.device.action.PAIRING_REQUEST" />
97    <protected-broadcast android:name="android.bluetooth.device.action.PAIRING_CANCEL" />
98    <protected-broadcast android:name="android.bluetooth.device.action.CONNECTION_ACCESS_REPLY" />
99    <protected-broadcast
100        android:name="android.bluetooth.headset.profile.action.CONNECTION_STATE_CHANGED" />
101    <protected-broadcast
102        android:name="android.bluetooth.headset.profile.action.AUDIO_STATE_CHANGED" />
103    <protected-broadcast
104        android:name="android.bluetooth.headset.action.VENDOR_SPECIFIC_HEADSET_EVENT" />
105    <protected-broadcast
106        android:name="android.bluetooth.a2dp.profile.action.CONNECTION_STATE_CHANGED" />
107    <protected-broadcast
108        android:name="android.bluetooth.a2dp.profile.action.PLAYING_STATE_CHANGED" />
109    <protected-broadcast
110        android:name="android.bluetooth.input.profile.action.CONNECTION_STATE_CHANGED" />
111    <protected-broadcast
112        android:name="android.bluetooth.pan.profile.action.CONNECTION_STATE_CHANGED" />
113
114    <protected-broadcast android:name="android.hardware.display.action.WIFI_DISPLAY_STATUS_CHANGED" />
115
116    <protected-broadcast android:name="android.hardware.usb.action.USB_STATE" />
117    <protected-broadcast android:name="android.hardware.usb.action.USB_ACCESSORY_ATTACHED" />
118    <protected-broadcast android:name="android.hardware.usb.action.USB_ACCESSORY_ATTACHED" />
119    <protected-broadcast android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" />
120    <protected-broadcast android:name="android.hardware.usb.action.USB_DEVICE_DETACHED" />
121
122    <protected-broadcast android:name="android.intent.action.HEADSET_PLUG" />
123    <protected-broadcast android:name="android.intent.action.ANALOG_AUDIO_DOCK_PLUG" />
124    <protected-broadcast android:name="android.intent.action.DIGITAL_AUDIO_DOCK_PLUG" />
125    <protected-broadcast android:name="android.intent.action.HDMI_AUDIO_PLUG" />
126    <protected-broadcast android:name="android.intent.action.USB_AUDIO_ACCESSORY_PLUG" />
127    <protected-broadcast android:name="android.intent.action.USB_AUDIO_DEVICE_PLUG" />
128
129    <protected-broadcast android:name="android.net.conn.CONNECTIVITY_CHANGE" />
130    <protected-broadcast android:name="android.net.conn.CONNECTIVITY_CHANGE_IMMEDIATE" />
131    <protected-broadcast android:name="android.net.conn.DATA_ACTIVITY_CHANGE" />
132
133    <protected-broadcast android:name="android.nfc.action.LLCP_LINK_STATE_CHANGED" />
134    <protected-broadcast android:name="com.android.nfc_extras.action.RF_FIELD_ON_DETECTED" />
135    <protected-broadcast android:name="com.android.nfc_extras.action.RF_FIELD_OFF_DETECTED" />
136    <protected-broadcast android:name="com.android.nfc_extras.action.AID_SELECTED" />
137
138    <protected-broadcast android:name="android.nfc.action.TRANSACTION_DETECTED" />
139    <protected-broadcast android:name="android.intent.action.CLEAR_DNS_CACHE" />
140    <protected-broadcast android:name="android.intent.action.PROXY_CHANGE" />
141
142    <protected-broadcast android:name="android.os.UpdateLock.UPDATE_LOCK_CHANGED" />
143
144    <protected-broadcast android:name="android.intent.action.DREAMING_STARTED" />
145    <protected-broadcast android:name="android.intent.action.DREAMING_STOPPED" />
146    <protected-broadcast android:name="android.intent.action.ANY_DATA_STATE" />
147
148    <protected-broadcast android:name="com.android.server.WifiManager.action.START_SCAN" />
149    <protected-broadcast android:name="com.android.server.WifiManager.action.DELAYED_DRIVER_STOP" />
150    <protected-broadcast android:name="android.net.wifi.WIFI_STATE_CHANGED" />
151    <protected-broadcast android:name="android.net.wifi.WIFI_AP_STATE_CHANGED" />
152    <protected-broadcast android:name="android.net.wifi.SCAN_RESULTS" />
153    <protected-broadcast android:name="android.net.wifi.RSSI_CHANGED" />
154    <protected-broadcast android:name="android.net.wifi.STATE_CHANGE" />
155    <protected-broadcast android:name="android.net.wifi.LINK_CONFIGURATION_CHANGED" />
156    <protected-broadcast android:name="android.net.wifi.CONFIGURED_NETWORKS_CHANGE" />
157    <protected-broadcast android:name="android.net.wifi.supplicant.CONNECTION_CHANGE" />
158    <protected-broadcast android:name="android.net.wifi.supplicant.STATE_CHANGE" />
159    <protected-broadcast android:name="android.net.wifi.p2p.STATE_CHANGED" />
160    <protected-broadcast android:name="android.net.wifi.p2p.DISCOVERY_STATE_CHANGE" />
161    <protected-broadcast android:name="android.net.wifi.p2p.THIS_DEVICE_CHANGED" />
162    <protected-broadcast android:name="android.net.wifi.p2p.PEERS_CHANGED" />
163    <protected-broadcast android:name="android.net.wifi.p2p.CONNECTION_STATE_CHANGE" />
164    <protected-broadcast android:name="android.net.wifi.p2p.PERSISTENT_GROUPS_CHANGED" />
165    <protected-broadcast android:name="android.net.conn.TETHER_STATE_CHANGED" />
166    <protected-broadcast android:name="android.net.conn.INET_CONDITION_ACTION" />
167
168
169
170
171    <protected-broadcast android:name="android.intent.action.ANY_DATA_STATE" />
172
173    <protected-broadcast android:name="com.android.server.WifiManager.action.START_SCAN" />
174    <protected-broadcast android:name="com.android.server.WifiManager.action.DELAYED_DRIVER_STOP" />
175    <protected-broadcast android:name="android.net.wifi.WIFI_STATE_CHANGED" />
176    <protected-broadcast android:name="android.net.wifi.WIFI_AP_STATE_CHANGED" />
177    <protected-broadcast android:name="android.net.wifi.SCAN_RESULTS" />
178    <protected-broadcast android:name="android.net.wifi.RSSI_CHANGED" />
179    <protected-broadcast android:name="android.net.wifi.STATE_CHANGE" />
180    <protected-broadcast android:name="android.net.wifi.LINK_CONFIGURATION_CHANGED" />
181    <protected-broadcast android:name="android.net.wifi.CONFIGURED_NETWORKS_CHANGE" />
182    <protected-broadcast android:name="android.net.wifi.supplicant.CONNECTION_CHANGE" />
183    <protected-broadcast android:name="android.net.wifi.supplicant.STATE_CHANGE" />
184    <protected-broadcast android:name="android.net.wifi.p2p.STATE_CHANGED" />
185    <protected-broadcast android:name="android.net.wifi.p2p.DISCOVERY_STATE_CHANGE" />
186    <protected-broadcast android:name="android.net.wifi.p2p.THIS_DEVICE_CHANGED" />
187    <protected-broadcast android:name="android.net.wifi.p2p.PEERS_CHANGED" />
188    <protected-broadcast android:name="android.net.wifi.p2p.CONNECTION_STATE_CHANGE" />
189    <protected-broadcast android:name="android.net.wifi.p2p.PERSISTENT_GROUPS_CHANGED" />
190    <protected-broadcast android:name="android.net.conn.TETHER_STATE_CHANGED" />
191    <protected-broadcast android:name="android.net.conn.INET_CONDITION_ACTION" />
192
193
194
195
196    <!-- ====================================== -->
197    <!-- Permissions for things that cost money -->
198    <!-- ====================================== -->
199    <eat-comment />
200
201    <!-- Used for permissions that can be used to make the user spend money
202         without their direct involvement. -->
203    <permission-group android:name="android.permission-group.COST_MONEY"
204        android:label="@string/permgrouplab_costMoney"
205        android:description="@string/permgroupdesc_costMoney" />
206
207    <!-- ================================== -->
208    <!-- Permissions for accessing messages -->
209    <!-- ================================== -->
210    <eat-comment />
211
212    <!-- Used for permissions that allow an application to send messages
213         on behalf of the user or intercept messages being received by the
214         user.  This is primarily intended for SMS/MMS messaging, such as
215         receiving or reading an MMS. -->
216    <permission-group android:name="android.permission-group.MESSAGES"
217        android:label="@string/permgrouplab_messages"
218        android:icon="@drawable/perm_group_messages"
219        android:description="@string/permgroupdesc_messages"
220        android:permissionGroupFlags="personalInfo"
221        android:priority="360"/>
222
223  <!-- Allows an application to send SMS messages. -->
224    <permission android:name="android.permission.SEND_SMS"
225        android:permissionGroup="android.permission-group.MESSAGES"
226        android:protectionLevel="dangerous"
227        android:permissionFlags="costsMoney"
228        android:label="@string/permlab_sendSms"
229        android:description="@string/permdesc_sendSms" />
230
231    <!-- Allows an application to send SMS messages via the Messaging app with no user
232         input or confirmation.
233         @hide -->
234    <permission android:name="android.permission.SEND_SMS_NO_CONFIRMATION"
235        android:permissionGroup="android.permission-group.MESSAGES"
236        android:protectionLevel="signature|system"
237        android:label="@string/permlab_sendSmsNoConfirmation"
238        android:description="@string/permdesc_sendSmsNoConfirmation" />
239
240    <!-- Allows an application to monitor incoming SMS messages, to record
241         or perform processing on them. -->
242    <permission android:name="android.permission.RECEIVE_SMS"
243        android:permissionGroup="android.permission-group.MESSAGES"
244        android:protectionLevel="dangerous"
245        android:label="@string/permlab_receiveSms"
246        android:description="@string/permdesc_receiveSms" />
247
248    <!-- Allows an application to monitor incoming MMS messages, to record
249         or perform processing on them. -->
250    <permission android:name="android.permission.RECEIVE_MMS"
251        android:permissionGroup="android.permission-group.MESSAGES"
252        android:protectionLevel="dangerous"
253        android:label="@string/permlab_receiveMms"
254        android:description="@string/permdesc_receiveMms" />
255
256    <!-- Allows an application to receive emergency cell broadcast messages,
257         to record or display them to the user. Reserved for system apps.
258         @hide Pending API council approval -->
259    <permission android:name="android.permission.RECEIVE_EMERGENCY_BROADCAST"
260        android:permissionGroup="android.permission-group.MESSAGES"
261        android:protectionLevel="signature|system"
262        android:label="@string/permlab_receiveEmergencyBroadcast"
263        android:description="@string/permdesc_receiveEmergencyBroadcast" />
264
265    <!-- Allows an application to read previously received cell broadcast
266         messages and to register a content observer to get notifications when
267         a cell broadcast has been received and added to the database. For
268         emergency alerts, the database is updated immediately after the
269         alert dialog and notification sound/vibration/speech are presented.
270         The "read" column is then updated after the user dismisses the alert.
271         This enables supplementary emergency assistance apps to start loading
272         additional emergency information (if Internet access is available)
273         when the alert is first received, and to delay presenting the info
274         to the user until after the initial alert dialog is dismissed.
275         @hide Pending API council approval -->
276    <permission android:name="android.permission.READ_CELL_BROADCASTS"
277        android:permissionGroup="android.permission-group.MESSAGES"
278        android:protectionLevel="dangerous"
279        android:label="@string/permlab_readCellBroadcasts"
280        android:description="@string/permdesc_readCellBroadcasts" />
281
282    <!-- Allows an application to read SMS messages. -->
283    <permission android:name="android.permission.READ_SMS"
284        android:permissionGroup="android.permission-group.MESSAGES"
285        android:protectionLevel="dangerous"
286        android:label="@string/permlab_readSms"
287        android:description="@string/permdesc_readSms" />
288
289    <!-- Allows an application to write SMS messages. -->
290    <permission android:name="android.permission.WRITE_SMS"
291        android:permissionGroup="android.permission-group.MESSAGES"
292        android:protectionLevel="dangerous"
293        android:label="@string/permlab_writeSms"
294        android:description="@string/permdesc_writeSms" />
295
296    <!-- Allows an application to monitor incoming WAP push messages. -->
297    <permission android:name="android.permission.RECEIVE_WAP_PUSH"
298        android:permissionGroup="android.permission-group.MESSAGES"
299        android:protectionLevel="dangerous"
300        android:label="@string/permlab_receiveWapPush"
301        android:description="@string/permdesc_receiveWapPush" />
302
303    <!-- =============================================================== -->
304    <!-- Permissions for accessing social info (contacts and social) -->
305    <!-- =============================================================== -->
306    <eat-comment />
307
308    <!-- Used for permissions that provide access to the user's social connections,
309         such as contacts, call logs, social stream, etc.  This includes
310         both reading and writing of this data (which should generally be
311         expressed as two distinct permissions). -->
312
313    <permission-group android:name="android.permission-group.SOCIAL_INFO"
314        android:label="@string/permgrouplab_socialInfo"
315        android:icon="@drawable/perm_group_social_info"
316        android:description="@string/permgroupdesc_socialInfo"
317        android:permissionGroupFlags="personalInfo"
318        android:priority="320" />
319
320    <!-- Allows an application to read the user's contacts data. -->
321    <permission android:name="android.permission.READ_CONTACTS"
322        android:permissionGroup="android.permission-group.SOCIAL_INFO"
323        android:protectionLevel="dangerous"
324        android:label="@string/permlab_readContacts"
325        android:description="@string/permdesc_readContacts" />
326
327    <!-- Allows an application to write (but not read) the user's
328         contacts data. -->
329    <permission android:name="android.permission.WRITE_CONTACTS"
330        android:permissionGroup="android.permission-group.SOCIAL_INFO"
331        android:protectionLevel="dangerous"
332        android:label="@string/permlab_writeContacts"
333        android:description="@string/permdesc_writeContacts" />
334
335    <!-- Allows an application to execute contacts directory search.
336         This should only be used by ContactsProvider. -->
337    <!-- @hide -->
338    <permission android:name="android.permission.BIND_DIRECTORY_SEARCH"
339        android:permissionGroup="android.permission-group.PERSONAL_INFO"
340        android:protectionLevel="signature|system" />
341
342    <!-- Allows an application to read the user's call log.
343         <p class="note"><strong>Note:</strong> If your app uses the
344         {@link #READ_CONTACTS} permission and <em>both</em> your <a
345         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#min">{@code
346         minSdkVersion}</a> and <a
347         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
348         targetSdkVersion}</a> values are set to 15 or lower, the system implicitly
349         grants your app this permission. If you don't need this permission, be sure your <a
350         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
351         targetSdkVersion}</a> is 16 or higher.</p> -->
352    <permission android:name="android.permission.READ_CALL_LOG"
353        android:permissionGroup="android.permission-group.SOCIAL_INFO"
354        android:protectionLevel="dangerous"
355        android:label="@string/permlab_readCallLog"
356        android:description="@string/permdesc_readCallLog" />
357
358    <!-- Allows an application to write (but not read) the user's
359         contacts data.
360         <p class="note"><strong>Note:</strong> If your app uses the
361         {@link #WRITE_CONTACTS} permission and <em>both</em> your <a
362         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#min">{@code
363         minSdkVersion}</a> and <a
364         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
365         targetSdkVersion}</a> values are set to 15 or lower, the system implicitly
366         grants your app this permission. If you don't need this permission, be sure your <a
367         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
368         targetSdkVersion}</a> is 16 or higher.</p>  -->
369    <permission android:name="android.permission.WRITE_CALL_LOG"
370        android:permissionGroup="android.permission-group.SOCIAL_INFO"
371        android:protectionLevel="dangerous"
372        android:label="@string/permlab_writeCallLog"
373        android:description="@string/permdesc_writeCallLog" />
374
375  <!-- Allows an application to read from the user's social stream. -->
376    <permission android:name="android.permission.READ_SOCIAL_STREAM"
377        android:permissionGroup="android.permission-group.SOCIAL_INFO"
378        android:protectionLevel="dangerous"
379        android:label="@string/permlab_readSocialStream"
380        android:description="@string/permdesc_readSocialStream" />
381
382    <!-- Allows an application to write (but not read) the user's
383         social stream data. -->
384    <permission android:name="android.permission.WRITE_SOCIAL_STREAM"
385        android:permissionGroup="android.permission-group.SOCIAL_INFO"
386        android:protectionLevel="dangerous"
387        android:label="@string/permlab_writeSocialStream"
388        android:description="@string/permdesc_writeSocialStream" />
389
390    <!-- =============================================================== -->
391    <!-- Permissions for accessing information about the device owner    -->
392    <!-- =============================================================== -->
393    <eat-comment />
394
395    <!-- Used for permissions that provide access to information about the device
396         user such as profile information.  This includes both reading and
397         writing of this data (which should generally be expressed as two
398         distinct permissions). -->
399    <permission-group android:name="android.permission-group.PERSONAL_INFO"
400        android:label="@string/permgrouplab_personalInfo"
401        android:icon="@drawable/perm_group_personal_info"
402        android:description="@string/permgroupdesc_personalInfo"
403        android:permissionGroupFlags="personalInfo"
404        android:priority="310" />
405
406    <!-- Allows an application to read the user's personal profile data. -->
407    <permission android:name="android.permission.READ_PROFILE"
408        android:permissionGroup="android.permission-group.PERSONAL_INFO"
409        android:protectionLevel="dangerous"
410        android:label="@string/permlab_readProfile"
411        android:description="@string/permdesc_readProfile" />
412
413    <!-- Allows an application to write (but not read) the user's
414         personal profile data. -->
415    <permission android:name="android.permission.WRITE_PROFILE"
416        android:permissionGroup="android.permission-group.PERSONAL_INFO"
417        android:protectionLevel="dangerous"
418        android:label="@string/permlab_writeProfile"
419        android:description="@string/permdesc_writeProfile" />
420
421    <!-- =============================================================== -->
422    <!-- Permissions for accessing the device calendar                   -->
423    <!-- =============================================================== -->
424    <eat-comment />
425
426    <!-- Used for permissions that provide access to the device
427         calendar to create / view events.-->
428    <permission-group android:name="android.permission-group.CALENDAR"
429        android:label="@string/permgrouplab_calendar"
430        android:icon="@drawable/perm_group_calendar"
431        android:description="@string/permgroupdesc_calendar"
432        android:permissionGroupFlags="personalInfo"
433        android:priority="290" />
434
435    <!-- Allows an application to read the user's calendar data. -->
436    <permission android:name="android.permission.READ_CALENDAR"
437        android:permissionGroup="android.permission-group.PERSONAL_INFO"
438        android:protectionLevel="dangerous"
439        android:label="@string/permlab_readCalendar"
440        android:description="@string/permdesc_readCalendar" />
441
442    <!-- Allows an application to write (but not read) the user's
443         calendar data. -->
444    <permission android:name="android.permission.WRITE_CALENDAR"
445        android:permissionGroup="android.permission-group.PERSONAL_INFO"
446        android:protectionLevel="dangerous"
447        android:label="@string/permlab_writeCalendar"
448        android:description="@string/permdesc_writeCalendar" />
449
450    <!-- =============================================================== -->
451    <!-- Permissions for accessing the user dictionary-->
452    <!-- =============================================================== -->
453    <eat-comment />
454
455    <!-- Used for permissions that provide access to the user
456         calendar to create / view events.-->
457    <permission-group android:name="android.permission-group.USER_DICTIONARY"
458        android:label="@string/permgrouplab_dictionary"
459        android:icon="@drawable/perm_group_user_dictionary"
460        android:description="@string/permgroupdesc_dictionary"
461        android:permissionGroupFlags="personalInfo"
462        android:priority="170" />
463
464    <!-- Allows an application to read the user dictionary. This should
465         really only be required by an IME, or a dictionary editor like
466         the Settings app. -->
467    <permission android:name="android.permission.READ_USER_DICTIONARY"
468        android:permissionGroup="android.permission-group.USER_DICTIONARY"
469        android:protectionLevel="dangerous"
470        android:label="@string/permlab_readDictionary"
471        android:description="@string/permdesc_readDictionary" />
472
473    <!-- Used for permissions that provide access to the user
474         calendar to create / view events.-->
475    <permission-group android:name="android.permission-group.WRITE_USER_DICTIONARY"
476        android:label="@string/permgrouplab_writeDictionary"
477        android:icon="@drawable/perm_group_user_dictionary_write"
478        android:description="@string/permgroupdesc_writeDictionary"
479        android:priority="160" />
480
481    <!-- Allows an application to write to the user dictionary. -->
482    <permission android:name="android.permission.WRITE_USER_DICTIONARY"
483        android:permissionGroup="android.permission-group.WRITE_USER_DICTIONARY"
484        android:protectionLevel="normal"
485        android:label="@string/permlab_writeDictionary"
486        android:description="@string/permdesc_writeDictionary" />
487
488    <!-- =============================================================== -->
489    <!-- Permissions for accessing the user bookmarks                    -->
490    <!-- =============================================================== -->
491    <eat-comment />
492
493    <!-- Used for permissions that provide access to the user
494         bookmarks and browser history.-->
495    <permission-group android:name="android.permission-group.BOOKMARKS"
496        android:label="@string/permgrouplab_bookmarks"
497        android:icon="@drawable/perm_group_bookmarks"
498        android:description="@string/permgroupdesc_bookmarks"
499        android:permissionGroupFlags="personalInfo"
500        android:priority="300" />
501
502    <!-- Allows an application to read (but not write) the user's
503        browsing history and bookmarks. -->
504    <permission android:name="com.android.browser.permission.READ_HISTORY_BOOKMARKS"
505        android:permissionGroup="android.permission-group.BOOKMARKS"
506        android:label="@string/permlab_readHistoryBookmarks"
507        android:description="@string/permdesc_readHistoryBookmarks"
508        android:protectionLevel="dangerous" />
509
510    <!-- Allows an application to write (but not read) the user's
511        browsing history and bookmarks. -->
512    <permission android:name="com.android.browser.permission.WRITE_HISTORY_BOOKMARKS"
513        android:permissionGroup="android.permission-group.BOOKMARKS"
514        android:label="@string/permlab_writeHistoryBookmarks"
515        android:description="@string/permdesc_writeHistoryBookmarks"
516        android:protectionLevel="dangerous" />
517
518    <!-- =============================================================== -->
519    <!-- Permissions for setting the device alarm                        -->
520    <!-- =============================================================== -->
521    <eat-comment />
522
523    <!-- Used for permissions that provide access to the user voicemail box. -->
524    <permission-group android:name="android.permission-group.DEVICE_ALARMS"
525        android:label="@string/permgrouplab_deviceAlarms"
526        android:icon="@drawable/perm_group_device_alarms"
527        android:description="@string/permgroupdesc_deviceAlarms"
528        android:permissionGroupFlags="personalInfo"
529        android:priority="210" />
530
531    <!-- Allows an application to broadcast an Intent to set an alarm for the
532         user. -->
533    <permission android:name="com.android.alarm.permission.SET_ALARM"
534        android:permissionGroup="android.permission-group.DEVICE_ALARMS"
535        android:label="@string/permlab_setAlarm"
536        android:description="@string/permdesc_setAlarm"
537        android:protectionLevel="normal" />
538
539    <!-- =============================================================== -->
540    <!-- Permissions for accessing the user voicemail                    -->
541    <!-- =============================================================== -->
542    <eat-comment />
543
544    <!-- Used for permissions that provide access to the user voicemail box. -->
545    <permission-group android:name="android.permission-group.VOICEMAIL"
546        android:label="@string/permgrouplab_voicemail"
547        android:icon="@drawable/perm_group_voicemail"
548        android:description="@string/permgroupdesc_voicemail"
549        android:permissionGroupFlags="personalInfo"
550        android:priority="280" />
551
552   <!-- Allows an application to add voicemails into the system. -->
553    <permission android:name="com.android.voicemail.permission.ADD_VOICEMAIL"
554        android:permissionGroup="android.permission-group.VOICEMAIL"
555        android:protectionLevel="dangerous"
556        android:label="@string/permlab_addVoicemail"
557        android:description="@string/permdesc_addVoicemail" />
558
559    <!-- ======================================= -->
560    <!-- Permissions for accessing location info -->
561    <!-- ======================================= -->
562    <eat-comment />
563
564    <!-- Used for permissions that allow access to the user's current
565         location. -->
566    <permission-group android:name="android.permission-group.LOCATION"
567        android:label="@string/permgrouplab_location"
568        android:icon="@drawable/perm_group_location"
569        android:description="@string/permgroupdesc_location"
570        android:permissionGroupFlags="personalInfo"
571        android:priority="330" />
572
573    <!-- Allows an app to access precise location from location sources such
574         as GPS, cell towers, and Wi-Fi. -->
575    <permission android:name="android.permission.ACCESS_FINE_LOCATION"
576        android:permissionGroup="android.permission-group.LOCATION"
577        android:protectionLevel="dangerous"
578        android:label="@string/permlab_accessFineLocation"
579        android:description="@string/permdesc_accessFineLocation" />
580
581    <!-- Allows an app to access approximate location derived from network location
582         sources such as cell towers and Wi-Fi. -->
583    <permission android:name="android.permission.ACCESS_COARSE_LOCATION"
584        android:permissionGroup="android.permission-group.LOCATION"
585        android:protectionLevel="dangerous"
586        android:label="@string/permlab_accessCoarseLocation"
587        android:description="@string/permdesc_accessCoarseLocation" />
588
589    <!-- Allows an application to create mock location providers for testing -->
590    <permission android:name="android.permission.ACCESS_MOCK_LOCATION"
591        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
592        android:protectionLevel="dangerous"
593        android:label="@string/permlab_accessMockLocation"
594        android:description="@string/permdesc_accessMockLocation" />
595
596    <!-- Allows an application to access extra location provider commands -->
597    <permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"
598        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
599        android:protectionLevel="normal"
600        android:label="@string/permlab_accessLocationExtraCommands"
601        android:description="@string/permdesc_accessLocationExtraCommands" />
602
603    <!-- Allows an application to install a location provider into the Location Manager -->
604    <permission android:name="android.permission.INSTALL_LOCATION_PROVIDER"
605        android:protectionLevel="signature|system"
606        android:label="@string/permlab_installLocationProvider"
607        android:description="@string/permdesc_installLocationProvider" />
608
609    <!-- ======================================= -->
610    <!-- Permissions for accessing networks -->
611    <!-- ======================================= -->
612    <eat-comment />
613
614    <!-- Used for permissions that provide access to networking services.  The
615         main permission here is internet access, but this is also an
616         appropriate group for accessing or modifying any network configuration
617         or other related network operations. -->
618    <permission-group android:name="android.permission-group.NETWORK"
619        android:label="@string/permgrouplab_network"
620        android:icon="@drawable/perm_group_network"
621        android:description="@string/permgroupdesc_network"
622        android:priority="270" />
623
624    <!-- Allows applications to open network sockets. -->
625    <permission android:name="android.permission.INTERNET"
626        android:permissionGroup="android.permission-group.NETWORK"
627        android:protectionLevel="dangerous"
628        android:description="@string/permdesc_createNetworkSockets"
629        android:label="@string/permlab_createNetworkSockets" />
630
631    <!-- Allows applications to access information about networks -->
632    <permission android:name="android.permission.ACCESS_NETWORK_STATE"
633        android:permissionGroup="android.permission-group.NETWORK"
634        android:protectionLevel="normal"
635        android:description="@string/permdesc_accessNetworkState"
636        android:label="@string/permlab_accessNetworkState" />
637
638    <!-- Allows applications to access information about Wi-Fi networks -->
639    <permission android:name="android.permission.ACCESS_WIFI_STATE"
640        android:permissionGroup="android.permission-group.NETWORK"
641        android:protectionLevel="normal"
642        android:description="@string/permdesc_accessWifiState"
643        android:label="@string/permlab_accessWifiState" />
644        
645    <!-- Allows applications to change Wi-Fi connectivity state -->
646    <permission android:name="android.permission.CHANGE_WIFI_STATE"
647        android:permissionGroup="android.permission-group.NETWORK"
648        android:protectionLevel="dangerous"
649        android:description="@string/permdesc_changeWifiState"
650        android:label="@string/permlab_changeWifiState" />
651
652    <!-- @hide -->
653    <permission android:name="android.permission.ACCESS_WIMAX_STATE"
654        android:permissionGroup="android.permission-group.NETWORK"
655        android:protectionLevel="normal"
656        android:description="@string/permdesc_accessWimaxState"
657        android:label="@string/permlab_accessWimaxState" />
658
659    <!-- @hide -->
660    <permission android:name="android.permission.CHANGE_WIMAX_STATE"
661        android:permissionGroup="android.permission-group.NETWORK"
662        android:protectionLevel="dangerous"
663        android:description="@string/permdesc_changeWimaxState"
664        android:label="@string/permlab_changeWimaxState" />
665
666    <!-- ======================================= -->
667    <!-- Permissions for short range, peripheral networks -->
668    <!-- ======================================= -->
669    <eat-comment />
670
671    <!-- Used for permissions that provide access to other devices through Bluetooth.-->
672    <permission-group android:name="android.permission-group.BLUETOOTH_NETWORK"
673        android:label="@string/permgrouplab_bluetoothNetwork"
674        android:icon="@drawable/perm_group_bluetooth"
675        android:description="@string/permgroupdesc_bluetoothNetwork"
676        android:priority="260" />
677
678    <!-- Allows applications to connect to paired bluetooth devices -->
679    <permission android:name="android.permission.BLUETOOTH"
680        android:permissionGroup="android.permission-group.BLUETOOTH_NETWORK"
681        android:protectionLevel="dangerous"
682        android:description="@string/permdesc_bluetooth"
683        android:label="@string/permlab_bluetooth" />
684        
685    <!-- Allows applications to discover and pair bluetooth devices -->
686    <permission android:name="android.permission.BLUETOOTH_ADMIN"
687        android:permissionGroup="android.permission-group.BLUETOOTH_NETWORK"
688        android:protectionLevel="dangerous"
689        android:description="@string/permdesc_bluetoothAdmin"
690        android:label="@string/permlab_bluetoothAdmin" />
691   
692    <!-- Allows bluetooth stack to access files
693         @hide This should only be used by Bluetooth apk.
694    -->
695    <permission android:name="android.permission.BLUETOOTH_STACK"
696        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
697        android:protectionLevel="signature" />
698
699    <!-- Allows applications to perform I/O operations over NFC -->
700    <permission android:name="android.permission.NFC"
701        android:permissionGroup="android.permission-group.NETWORK"
702        android:protectionLevel="dangerous"
703        android:description="@string/permdesc_nfc"
704        android:label="@string/permlab_nfc" />
705
706    <!-- Allows an internal user to use privileged ConnectivityManager APIs.
707        @hide -->
708    <permission android:name="android.permission.CONNECTIVITY_INTERNAL"
709        android:permissionGroup="android.permission-group.NETWORK"
710        android:protectionLevel="signature|system" />
711
712    <!-- @hide -->
713    <permission android:name="android.permission.RECEIVE_DATA_ACTIVITY_CHANGE"
714        android:permissionGroup="android.permission-group.NETWORK"
715        android:protectionLevel="signature|system" />
716
717    <!-- Allows access to the loop radio (Android@Home mesh network) device.
718	@hide -->
719    <permission android:name="android.permission.LOOP_RADIO"
720	android:permissionGroup="android.permission-group.NETWORK"
721	android:protectionLevel="signature|system" />
722    
723    <!-- ================================== -->
724    <!-- Permissions for accessing accounts -->
725    <!-- ================================== -->
726    <eat-comment />
727
728    <!-- Permissions for direct access to the accounts managed
729         by the Account Manager. -->
730    <permission-group android:name="android.permission-group.ACCOUNTS"
731        android:label="@string/permgrouplab_accounts"
732        android:icon="@drawable/perm_group_accounts"
733        android:description="@string/permgroupdesc_accounts"
734        android:permissionGroupFlags="personalInfo"
735        android:priority="200" />
736
737    <!-- Allows access to the list of accounts in the Accounts Service -->
738    <permission android:name="android.permission.GET_ACCOUNTS"
739        android:permissionGroup="android.permission-group.ACCOUNTS"
740        android:protectionLevel="normal"
741        android:description="@string/permdesc_getAccounts"
742        android:label="@string/permlab_getAccounts" />
743
744    <!-- Allows an application to act as an AccountAuthenticator for
745         the AccountManager -->
746    <permission android:name="android.permission.AUTHENTICATE_ACCOUNTS"
747        android:permissionGroup="android.permission-group.ACCOUNTS"
748        android:protectionLevel="dangerous"
749        android:label="@string/permlab_authenticateAccounts"
750        android:description="@string/permdesc_authenticateAccounts" />
751
752    <!-- Allows an application to request authtokens from the AccountManager -->
753    <permission android:name="android.permission.USE_CREDENTIALS"
754        android:permissionGroup="android.permission-group.ACCOUNTS"
755        android:protectionLevel="dangerous"
756        android:label="@string/permlab_useCredentials"
757        android:description="@string/permdesc_useCredentials" />
758
759    <!-- Allows an application to manage the list of accounts in the AccountManager -->
760    <permission android:name="android.permission.MANAGE_ACCOUNTS"
761        android:permissionGroup="android.permission-group.ACCOUNTS"
762        android:protectionLevel="dangerous"
763        android:label="@string/permlab_manageAccounts"
764        android:description="@string/permdesc_manageAccounts" />
765
766    <!-- Allows applications to call into AccountAuthenticators. Only
767         the system can get this permission. -->
768    <permission android:name="android.permission.ACCOUNT_MANAGER"
769        android:permissionGroup="android.permission-group.ACCOUNTS"
770        android:protectionLevel="signature"
771        android:description="@string/permdesc_accountManagerService"
772        android:label="@string/permlab_accountManagerService" />
773
774    <!-- ================================== -->
775    <!-- Permissions for accessing hardware that may effect battery life-->
776    <!-- ================================== -->
777    <eat-comment />
778
779    <!-- Used for permissions that provide direct access to the hardware on
780         the device that has an effect on battery life.  This includes vibrator,
781         flashlight,  etc. -->
782
783    <permission-group android:name="android.permission-group.AFFECTS_BATTERY"
784        android:label="@string/permgrouplab_affectsBattery"
785        android:icon="@drawable/perm_group_affects_battery"
786        android:description="@string/permgroupdesc_affectsBattery"
787        android:priority="180" />
788
789    <!-- Allows applications to enter Wi-Fi Multicast mode -->
790    <permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE"
791        android:permissionGroup="android.permission-group.AFFECTS_BATTERY"
792        android:protectionLevel="dangerous"
793        android:description="@string/permdesc_changeWifiMulticastState"
794        android:label="@string/permlab_changeWifiMulticastState" />
795
796    <!-- Allows access to the vibrator -->
797    <permission android:name="android.permission.VIBRATE"
798        android:permissionGroup="android.permission-group.AFFECTS_BATTERY"
799        android:protectionLevel="normal"
800        android:label="@string/permlab_vibrate"
801        android:description="@string/permdesc_vibrate" />
802
803    <!-- Allows access to the flashlight -->
804    <permission android:name="android.permission.FLASHLIGHT"
805        android:permissionGroup="android.permission-group.AFFECTS_BATTERY"
806        android:protectionLevel="normal"
807        android:label="@string/permlab_flashlight"
808        android:description="@string/permdesc_flashlight" />
809
810    <!-- Allows using PowerManager WakeLocks to keep processor from sleeping or screen
811         from dimming -->
812    <permission android:name="android.permission.WAKE_LOCK"
813        android:permissionGroup="android.permission-group.AFFECTS_BATTERY"
814        android:protectionLevel="normal"
815        android:label="@string/permlab_wakeLock"
816        android:description="@string/permdesc_wakeLock" />
817
818    <!-- ==================================================== -->
819    <!-- Permissions related to changing audio settings   -->
820    <!-- ==================================================== -->
821
822    <!-- Used for permissions that provide direct access to speaker settings
823         the device. -->
824    <permission-group android:name="android.permission-group.AUDIO_SETTINGS"
825        android:label="@string/permgrouplab_audioSettings"
826        android:icon="@drawable/perm_group_audio_settings"
827        android:description="@string/permgroupdesc_audioSettings"
828        android:priority="130" />
829
830    <!-- Allows an application to modify global audio settings -->
831    <permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"
832        android:permissionGroup="android.permission-group.AUDIO_SETTINGS"
833        android:protectionLevel="normal"
834        android:label="@string/permlab_modifyAudioSettings"
835        android:description="@string/permdesc_modifyAudioSettings" />
836
837    <!-- ================================== -->
838    <!-- Permissions for accessing hardware -->
839    <!-- ================================== -->
840    <eat-comment />
841
842    <!-- Used for permissions that provide direct access to the hardware on
843         the device.  This includes audio, the camera, vibrator, etc. -->
844    <permission-group android:name="android.permission-group.HARDWARE_CONTROLS"
845        android:label="@string/permgrouplab_hardwareControls"
846        android:description="@string/permgroupdesc_hardwareControls"
847        android:priority="260"/>
848
849    <!-- Allows an application to manage preferences and permissions for USB devices
850         @hide -->
851    <permission android:name="android.permission.MANAGE_USB"
852        android:permissionGroup="android.permission-group.HARDWARE_CONTROLS"
853        android:protectionLevel="signature|system"
854        android:label="@string/permlab_manageUsb"
855        android:description="@string/permdesc_manageUsb" />
856
857    <!-- Allows an application to access the MTP USB kernel driver.
858         For use only by the device side MTP implementation.
859         @hide -->
860    <permission android:name="android.permission.ACCESS_MTP"
861        android:permissionGroup="android.permission-group.HARDWARE_CONTROLS"
862        android:protectionLevel="signature|system"
863        android:label="@string/permlab_accessMtp"
864        android:description="@string/permdesc_accessMtp" />
865
866    <!-- Allows access to hardware peripherals.  Intended only for hardware testing -->
867    <permission android:name="android.permission.HARDWARE_TEST"
868        android:permissionGroup="android.permission-group.HARDWARE_CONTROLS"
869        android:protectionLevel="signature"
870        android:label="@string/permlab_hardware_test"
871        android:description="@string/permdesc_hardware_test" />
872
873    <!-- Allows access to configure network interfaces, configure/use IPSec, etc.
874         @hide -->
875    <permission android:name="android.permission.NET_ADMIN"
876        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
877        android:protectionLevel="signature" />
878
879    <!-- Allows registration for remote audio playback. @hide -->
880    <permission android:name="android.permission.REMOTE_AUDIO_PLAYBACK"
881        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
882        android:protectionLevel="signature" />
883
884    <!-- =========================================== -->
885    <!-- Permissions associated with audio capture -->
886    <!-- =========================================== -->
887    <eat-comment />
888
889    <!-- Used for permissions that are associated with accessing
890         microphone audio from the device. Note that phone calls also capture audio
891         but are in a separate (more visible) permission group. -->
892    <permission-group android:name="android.permission-group.MICROPHONE"
893        android:label="@string/permgrouplab_microphone"
894        android:icon="@drawable/perm_group_microphone"
895        android:description="@string/permgroupdesc_microphone"
896        android:permissionGroupFlags="personalInfo"
897        android:priority="340" />
898
899    <!-- Allows an application to record audio -->
900    <permission android:name="android.permission.RECORD_AUDIO"
901        android:permissionGroup="android.permission-group.MICROPHONE"
902        android:protectionLevel="dangerous"
903        android:label="@string/permlab_recordAudio" />
904
905
906    <!-- =========================================== -->
907    <!-- Permissions associated with camera and image capture -->
908    <!-- =========================================== -->
909    <eat-comment />
910
911    <!-- Used for permissions that are associated with accessing
912         camera or capturing images/video from the device. -->
913    <permission-group android:name="android.permission-group.CAMERA"
914        android:label="@string/permgrouplab_camera"
915        android:icon="@drawable/perm_group_camera"
916        android:description="@string/permgroupdesc_camera"
917        android:permissionGroupFlags="personalInfo"
918        android:priority="350" />
919
920    <!-- Required to be able to access the camera device.
921         <p>This will automatically enforce the <a
922         href="{@docRoot}guide/topics/manifest/uses-feature-element.html">{@code
923         &lt;uses-feature&gt;}</a> manifest element for <em>all</em> camera features.
924         If you do not require all camera features or can properly operate if a camera
925         is not available, then you must modify your manifest as appropriate in order to
926         install on devices that don't support all camera features.</p> -->
927    <permission android:name="android.permission.CAMERA"
928        android:permissionGroup="android.permission-group.CAMERA"
929        android:protectionLevel="dangerous"
930        android:label="@string/permlab_camera"
931        android:description="@string/permdesc_camera" />
932
933    <!-- =========================================== -->
934    <!-- Permissions associated with telephony state -->
935    <!-- =========================================== -->
936    <eat-comment />
937
938    <!-- Used for permissions that are associated with accessing and modifyign
939         telephony state: placing calls, intercepting outgoing calls, reading
940         and modifying the phone state. -->
941    <permission-group android:name="android.permission-group.PHONE_CALLS"
942        android:label="@string/permgrouplab_phoneCalls"
943        android:icon="@drawable/perm_group_phone_calls"
944        android:description="@string/permgroupdesc_phoneCalls"
945        android:permissionGroupFlags="personalInfo"
946        android:priority="370" />
947
948    <!-- Allows an application to monitor, modify, or abort outgoing
949         calls. -->
950    <permission android:name="android.permission.PROCESS_OUTGOING_CALLS"
951        android:permissionGroup="android.permission-group.PHONE_CALLS"
952        android:protectionLevel="dangerous"
953        android:label="@string/permlab_processOutgoingCalls"
954        android:description="@string/permdesc_processOutgoingCalls" />
955
956    <!-- Allows modification of the telephony state - power on, mmi, etc.
957         Does not include placing calls. -->
958    <permission android:name="android.permission.MODIFY_PHONE_STATE"
959        android:permissionGroup="android.permission-group.PHONE_CALLS"
960        android:protectionLevel="signature|system"
961        android:label="@string/permlab_modifyPhoneState"
962        android:description="@string/permdesc_modifyPhoneState" />
963
964    <!-- Allows read only access to phone state.
965         <p class="note"><strong>Note:</strong> If <em>both</em> your <a
966         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#min">{@code
967         minSdkVersion}</a> and <a
968         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
969         targetSdkVersion}</a> values are set to 3 or lower, the system implicitly
970         grants your app this permission. If you don't need this permission, be sure your <a
971         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
972         targetSdkVersion}</a> is 4 or higher. -->
973    <permission android:name="android.permission.READ_PHONE_STATE"
974        android:permissionGroup="android.permission-group.PHONE_CALLS"
975        android:protectionLevel="dangerous"
976        android:label="@string/permlab_readPhoneState"
977        android:description="@string/permdesc_readPhoneState" />
978
979    <!-- Allows read access to privileged phone state.
980         @hide Used internally. -->
981    <permission android:name="android.permission.READ_PRIVILEGED_PHONE_STATE"
982        android:permissionGroup="android.permission-group.PHONE_CALLS"
983        android:protectionLevel="signature|system" />
984
985     <!-- Allows an application to initiate a phone call without going through
986         the Dialer user interface for the user to confirm the call
987         being placed. -->
988    <permission android:name="android.permission.CALL_PHONE"
989        android:permissionGroup="android.permission-group.PHONE_CALLS"
990        android:protectionLevel="dangerous"
991        android:permissionFlags="costsMoney"
992        android:label="@string/permlab_callPhone"
993        android:description="@string/permdesc_callPhone" />
994
995    <!-- Allows an application to use SIP service -->
996    <permission android:name="android.permission.USE_SIP"
997        android:permissionGroup="android.permission-group.PHONE_CALLS"
998        android:protectionLevel="dangerous"
999        android:description="@string/permdesc_use_sip"
1000        android:label="@string/permlab_use_sip" />
1001
1002    <!-- ================================== -->
1003    <!-- Permissions for sdcard interaction -->
1004    <!-- ================================== -->
1005    <eat-comment />
1006
1007    <!-- Group of permissions that are related to SD card access. -->
1008    <permission-group android:name="android.permission-group.STORAGE"
1009        android:label="@string/permgrouplab_storage"
1010        android:icon="@drawable/perm_group_storage"
1011        android:description="@string/permgroupdesc_storage"
1012        android:permissionGroupFlags="personalInfo"
1013        android:priority="240" />
1014
1015    <!-- Allows an application to read from external storage.
1016         <p>Any app that declares the {@link #WRITE_EXTERNAL_STORAGE} permission is implicitly
1017         granted this permission.</p>
1018         <p>Currently, this permission is not enforced and all apps still have access to read from
1019         external storage without this permission. That will change in a future release and apps
1020         will require this permission to read from external storage. So if your
1021         app reads from the external storage, you should add this permission to your app now
1022         to ensure that it continues to work on future versions of Android.</p>
1023         <p>You can test your app with the permission enforced by either running your app on the
1024         Android Emulator when running Android 4.1 or higher, or enabling <em>Protect USB
1025         storage</em> under Developer options in the Settings app on a device running Android 4.1 or
1026         higher.</p>
1027         <p class="note"><strong>Note:</strong> If <em>both</em> your <a
1028         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#min">{@code
1029         minSdkVersion}</a> and <a
1030         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
1031         targetSdkVersion}</a> values are set to 3 or lower, the system implicitly
1032         grants your app this permission. If you don't need this permission, be sure your <a
1033         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
1034         targetSdkVersion}</a> is 4 or higher.-->
1035    <permission android:name="android.permission.READ_EXTERNAL_STORAGE"
1036        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1037        android:label="@string/permlab_sdcardRead"
1038        android:description="@string/permdesc_sdcardRead"
1039        android:protectionLevel="normal" />
1040
1041    <!-- Allows an application to write to external storage.
1042         <p class="note"><strong>Note:</strong> If <em>both</em> your <a
1043         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#min">{@code
1044         minSdkVersion}</a> and <a
1045         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
1046         targetSdkVersion}</a> values are set to 3 or lower, the system implicitly
1047         grants your app this permission. If you don't need this permission, be sure your <a
1048         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
1049         targetSdkVersion}</a> is 4 or higher. -->
1050    <permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
1051        android:permissionGroup="android.permission-group.STORAGE"
1052        android:label="@string/permlab_sdcardWrite"
1053        android:description="@string/permdesc_sdcardWrite"
1054        android:protectionLevel="dangerous" />
1055
1056    <!-- Allows an application to write to internal media storage
1057         @hide  -->
1058    <permission android:name="android.permission.WRITE_MEDIA_STORAGE"
1059        android:permissionGroup="android.permission-group.STORAGE"
1060        android:label="@string/permlab_mediaStorageWrite"
1061        android:description="@string/permdesc_mediaStorageWrite"
1062        android:protectionLevel="signature|system" />
1063
1064    <!-- ================================== -->
1065    <!-- Permissions for screenlock         -->
1066    <!-- ================================== -->
1067    <eat-comment />
1068
1069    <!-- Group of permissions that are related to the screenlock. -->
1070    <permission-group android:name="android.permission-group.SCREENLOCK"
1071        android:label="@string/permgrouplab_storage"
1072        android:icon="@drawable/perm_group_screenlock"
1073        android:permissionGroupFlags="personalInfo"
1074        android:description="@string/permgroupdesc_storage"
1075        android:priority="230" />
1076
1077    <!-- Allows applications to disable the keyguard -->
1078    <permission android:name="android.permission.DISABLE_KEYGUARD"
1079        android:permissionGroup="android.permission-group.SCREENLOCK"
1080        android:protectionLevel="dangerous"
1081        android:description="@string/permdesc_disableKeyguard"
1082        android:label="@string/permlab_disableKeyguard" />
1083
1084    <!-- ================================== -->
1085    <!-- Permissions to access other installed applications  -->
1086    <!-- ================================== -->
1087    <eat-comment />
1088
1089    <!-- Group of permissions that are related to the other applications
1090         installed on the system.  Examples include such as listing
1091         running apps, or killing background processes. -->
1092    <permission-group android:name="android.permission-group.APP_INFO"
1093        android:label="@string/permgrouplab_appInfo"
1094        android:icon="@drawable/perm_group_app_info"
1095        android:description="@string/permgroupdesc_appInfo"
1096        android:priority="220" />
1097
1098    <!-- Allows an application to get information about the currently
1099         or recently running tasks. -->
1100    <permission android:name="android.permission.GET_TASKS"
1101        android:permissionGroup="android.permission-group.APP_INFO"
1102        android:protectionLevel="dangerous"
1103        android:label="@string/permlab_getTasks"
1104        android:description="@string/permdesc_getTasks" />
1105    <!-- @hide Allows an application to call APIs that allow it to do interactions
1106         across the users on the device, using singleton services and
1107         user-targeted broadcasts.  This permission is not available to
1108         third party applications. -->
1109    <permission android:name="android.permission.INTERACT_ACROSS_USERS"
1110        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1111        android:protectionLevel="signature|system|development"
1112        android:label="@string/permlab_interactAcrossUsers"
1113        android:description="@string/permdesc_interactAcrossUsers" />
1114
1115    <!-- @hide Fuller form of {@link android.Manifest.permission#INTERACT_ACROSS_USERS}
1116         that removes restrictions on where broadcasts can be sent and allows other
1117         types of interactions. -->
1118    <permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL"
1119        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1120        android:protectionLevel="signature"
1121        android:label="@string/permlab_interactAcrossUsersFull"
1122        android:description="@string/permdesc_interactAcrossUsersFull" />
1123
1124    <!-- @hide Allows an application to call APIs that allow it to query and manage
1125         users on the device. This permission is not available to
1126         third party applications. -->
1127    <permission android:name="android.permission.MANAGE_USERS"
1128        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1129        android:protectionLevel="signature|system"
1130        android:label="@string/permlab_manageUsers"
1131        android:description="@string/permdesc_manageUsers" />
1132    
1133    <!-- Allows an application to get full detailed information about
1134         recently running tasks, with full fidelity to the real state.
1135         @hide -->
1136    <permission android:name="android.permission.GET_DETAILED_TASKS"
1137        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1138        android:protectionLevel="signature"
1139        android:label="@string/permlab_getDetailedTasks"
1140        android:description="@string/permdesc_getDetailedTasks" />
1141
1142    <!-- Allows an application to change the Z-order of tasks -->
1143    <permission android:name="android.permission.REORDER_TASKS"
1144        android:permissionGroup="android.permission-group.APP_INFO"
1145        android:protectionLevel="normal"
1146        android:label="@string/permlab_reorderTasks"
1147        android:description="@string/permdesc_reorderTasks" />
1148
1149    <!-- @hide Allows an application to change to remove/kill tasks -->
1150    <permission android:name="android.permission.REMOVE_TASKS"
1151        android:permissionGroup="android.permission-group.APP_INFO"
1152        android:protectionLevel="signature"
1153        android:label="@string/permlab_removeTasks"
1154        android:description="@string/permdesc_removeTasks" />
1155
1156    <!-- Allows an application to start any activity, regardless of permission
1157         protection or exported state. @hide -->
1158    <permission android:name="android.permission.START_ANY_ACTIVITY"
1159        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1160        android:protectionLevel="signature"
1161        android:label="@string/permlab_startAnyActivity"
1162        android:description="@string/permdesc_startAnyActivity" />
1163
1164    <!-- @deprecated The {@link android.app.ActivityManager#restartPackage}
1165        API is no longer supported. -->
1166    <permission android:name="android.permission.RESTART_PACKAGES"
1167        android:permissionGroup="android.permission-group.APP_INFO"
1168        android:protectionLevel="normal"
1169        android:label="@string/permlab_killBackgroundProcesses"
1170        android:description="@string/permdesc_killBackgroundProcesses" />
1171
1172    <!-- Allows an application to call
1173        {@link android.app.ActivityManager#killBackgroundProcesses}. -->
1174    <permission android:name="android.permission.KILL_BACKGROUND_PROCESSES"
1175        android:permissionGroup="android.permission-group.APP_INFO"
1176        android:protectionLevel="normal"
1177        android:label="@string/permlab_killBackgroundProcesses"
1178        android:description="@string/permdesc_killBackgroundProcesses" />
1179
1180    <!-- ================================== -->
1181    <!-- Permissions affecting the display of other applications  -->
1182    <!-- ================================== -->
1183    <eat-comment />
1184
1185    <!-- Group of permissions that allow manipulation of how
1186         another application displays UI to the user. -->
1187    <permission-group android:name="android.permission-group.DISPLAY"
1188        android:label="@string/permgrouplab_display"
1189        android:icon="@drawable/perm_group_display"
1190        android:description="@string/permgroupdesc_display"
1191        android:priority="190"/>
1192
1193    <!-- Allows an application to open windows using the type
1194         {@link android.view.WindowManager.LayoutParams#TYPE_SYSTEM_ALERT},
1195         shown on top of all other applications.  Very few applications
1196         should use this permission; these windows are intended for
1197         system-level interaction with the user. -->
1198    <permission android:name="android.permission.SYSTEM_ALERT_WINDOW"
1199        android:permissionGroup="android.permission-group.DISPLAY"
1200        android:protectionLevel="dangerous"
1201        android:label="@string/permlab_systemAlertWindow"
1202        android:description="@string/permdesc_systemAlertWindow" />
1203
1204    <!-- ================================== -->
1205    <!-- Permissions affecting the system wallpaper -->
1206    <!-- ================================== -->
1207    <eat-comment />
1208
1209    <!-- Group of permissions that allow manipulation of how
1210         another application displays UI to the user. -->
1211    <permission-group android:name="android.permission-group.WALLPAPER"
1212        android:label="@string/permgrouplab_wallpaper"
1213        android:icon="@drawable/perm_group_wallpaper"
1214        android:description="@string/permgroupdesc_wallpaper"
1215        android:priority="150" />
1216
1217    <!-- Allows applications to set the wallpaper -->
1218    <permission android:name="android.permission.SET_WALLPAPER"
1219        android:permissionGroup="android.permission-group.WALLPAPER"
1220        android:protectionLevel="normal"
1221        android:label="@string/permlab_setWallpaper"
1222        android:description="@string/permdesc_setWallpaper" />
1223
1224    <!-- Allows applications to set the wallpaper hints -->
1225    <permission android:name="android.permission.SET_WALLPAPER_HINTS"
1226        android:permissionGroup="android.permission-group.WALLPAPER"
1227        android:protectionLevel="normal"
1228        android:label="@string/permlab_setWallpaperHints"
1229        android:description="@string/permdesc_setWallpaperHints" />
1230
1231    <!-- ============================================ -->
1232    <!-- Permissions for changing the system clock -->
1233    <!-- ============================================ -->
1234    <eat-comment />
1235
1236    <!-- Group of permissions that are related to system clock. -->
1237    <permission-group android:name="android.permission-group.SYSTEM_CLOCK"
1238        android:label="@string/permgrouplab_systemClock"
1239        android:icon="@drawable/perm_group_system_clock"
1240        android:description="@string/permgroupdesc_systemClock"
1241        android:priority="140" />
1242
1243    <!-- Allows applications to set the system time -->
1244    <permission android:name="android.permission.SET_TIME"
1245        android:protectionLevel="signature|system"
1246        android:label="@string/permlab_setTime"
1247        android:description="@string/permdesc_setTime" />
1248
1249    <!-- Allows applications to set the system time zone -->
1250    <permission android:name="android.permission.SET_TIME_ZONE"
1251        android:permissionGroup="android.permission-group.SYSTEM_CLOCK"
1252        android:protectionLevel="normal"
1253        android:label="@string/permlab_setTimeZone"
1254        android:description="@string/permdesc_setTimeZone" />
1255
1256    <!-- ==================================================== -->
1257    <!-- Permissions related to changing status bar   -->
1258    <!-- ==================================================== -->
1259
1260    <!-- Used for permissions that change the status bar -->
1261    <permission-group android:name="android.permission-group.STATUS_BAR"
1262        android:label="@string/permgrouplab_statusBar"
1263        android:icon="@drawable/perm_group_status_bar"
1264        android:description="@string/permgroupdesc_statusBar"
1265        android:priority="110" />
1266
1267    <!-- Allows an application to expand or collapse the status bar. -->
1268    <permission android:name="android.permission.EXPAND_STATUS_BAR"
1269        android:permissionGroup="android.permission-group.STATUS_BAR"
1270        android:protectionLevel="normal"
1271        android:label="@string/permlab_expandStatusBar"
1272        android:description="@string/permdesc_expandStatusBar" />
1273
1274    <!-- ==================================================== -->
1275    <!-- Permissions related to accessing sync settings   -->
1276    <!-- ==================================================== -->
1277
1278    <!-- Used for permissions that access the sync settings or sync
1279         related information. -->
1280    <permission-group android:name="android.permission-group.SYNC_SETTINGS"
1281        android:label="@string/permgrouplab_syncSettings"
1282        android:icon="@drawable/perm_group_sync_settings"
1283        android:description="@string/permgroupdesc_syncSettings"
1284        android:priority="120" />
1285
1286    <!-- Allows applications to read the sync settings -->
1287    <permission android:name="android.permission.READ_SYNC_SETTINGS"
1288        android:permissionGroup="android.permission-group.SYNC_SETTINGS"
1289        android:protectionLevel="normal"
1290        android:description="@string/permdesc_readSyncSettings"
1291        android:label="@string/permlab_readSyncSettings" />
1292
1293    <!-- Allows applications to write the sync settings -->
1294    <permission android:name="android.permission.WRITE_SYNC_SETTINGS"
1295        android:permissionGroup="android.permission-group.SYNC_SETTINGS"
1296        android:protectionLevel="normal"
1297        android:description="@string/permdesc_writeSyncSettings"
1298        android:label="@string/permlab_writeSyncSettings" />
1299
1300    <!-- Allows applications to read the sync stats -->
1301    <permission android:name="android.permission.READ_SYNC_STATS"
1302        android:permissionGroup="android.permission-group.SYNC_SETTINGS"
1303        android:protectionLevel="normal"
1304        android:description="@string/permdesc_readSyncStats"
1305        android:label="@string/permlab_readSyncStats" />
1306
1307
1308    <!-- ============================================ -->
1309    <!-- Permissions for low-level system interaction -->
1310    <!-- ============================================ -->
1311    <eat-comment />
1312
1313    <!-- Group of permissions that are related to system APIs.  Many
1314         of these are not permissions the user will be expected to understand,
1315         and such permissions should generally be marked as "normal" protection
1316         level so they don't get displayed.  This can also, however, be used
1317         for miscellaneous features that provide access to the operating system,
1318         such as writing the global system settings. -->
1319    <permission-group android:name="android.permission-group.SYSTEM_TOOLS"
1320        android:label="@string/permgrouplab_systemTools"
1321        android:icon="@drawable/perm_group_system_tools"
1322        android:description="@string/permgroupdesc_systemTools"
1323        android:priority="100" />
1324
1325    <!-- @hide Change the screen compatibility mode of applications -->
1326    <permission android:name="android.permission.SET_SCREEN_COMPATIBILITY"
1327        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1328        android:protectionLevel="signature"
1329        android:label="@string/permlab_setScreenCompatibility"
1330        android:description="@string/permdesc_setScreenCompatibility" />
1331
1332    <!-- Allows an application to access all multi-user external storage @hide -->
1333    <permission android:name="android.permission.ACCESS_ALL_EXTERNAL_STORAGE"
1334        android:permissionGroup="android.permission-group.DEVELOPMENT_TOOLS"
1335        android:label="@string/permlab_sdcardAccessAll"
1336        android:description="@string/permdesc_sdcardAccessAll"
1337        android:protectionLevel="signature" />
1338
1339    <!-- Allows an application to modify the current configuration, such
1340         as locale. -->
1341    <permission android:name="android.permission.CHANGE_CONFIGURATION"
1342        android:permissionGroup="android.permission-group.DEVELOPMENT_TOOLS"
1343        android:protectionLevel="signature|system|development"
1344        android:label="@string/permlab_changeConfiguration"
1345        android:description="@string/permdesc_changeConfiguration" />
1346
1347    <!-- Allows an application to read or write the system settings. -->
1348    <permission android:name="android.permission.WRITE_SETTINGS"
1349        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1350        android:protectionLevel="normal"
1351        android:label="@string/permlab_writeSettings"
1352        android:description="@string/permdesc_writeSettings" />
1353
1354    <!-- Allows an application to modify the Google service map. -->
1355    <permission android:name="android.permission.WRITE_GSERVICES"
1356        android:protectionLevel="signature|system"
1357        android:label="@string/permlab_writeGservices"
1358        android:description="@string/permdesc_writeGservices" />
1359
1360    <!-- @hide Change the screen compatibility mode of applications -->
1361    <permission android:name="android.permission.SET_SCREEN_COMPATIBILITY"
1362        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1363        android:protectionLevel="signature"
1364        android:label="@string/permlab_setScreenCompatibility"
1365        android:description="@string/permdesc_setScreenCompatibility" />
1366
1367    <!-- Allows an application to modify the current configuration, such
1368         as locale. -->
1369    <permission android:name="android.permission.CHANGE_CONFIGURATION"
1370        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1371        android:protectionLevel="system|signature"
1372        android:label="@string/permlab_changeConfiguration"
1373        android:description="@string/permdesc_changeConfiguration" />
1374
1375    <!-- Allows an application to call
1376        {@link android.app.ActivityManager#forceStopPackage}.
1377        @hide -->
1378    <permission android:name="android.permission.FORCE_STOP_PACKAGES"
1379        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1380        android:protectionLevel="signature"
1381        android:label="@string/permlab_forceStopPackages"
1382        android:description="@string/permdesc_forceStopPackages" />
1383
1384    <!-- @hide Allows an application to retrieve the content of the active window
1385         An active window is the window that has fired an accessibility event. -->
1386    <permission android:name="android.permission.RETRIEVE_WINDOW_CONTENT"
1387        android:permissionGroup="android.permission-group.PERSONAL_INFO"
1388        android:protectionLevel="signature|system"
1389        android:label="@string/permlab_retrieve_window_content"
1390        android:description="@string/permdesc_retrieve_window_content" />
1391
1392    <!-- Modify the global animation scaling factor. -->
1393    <permission android:name="android.permission.SET_ANIMATION_SCALE"
1394        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1395        android:protectionLevel="signature|system|development"
1396        android:label="@string/permlab_setAnimationScale"
1397        android:description="@string/permdesc_setAnimationScale" />
1398
1399    <!-- @deprecated This functionality will be removed in the future; please do
1400         not use. Allow an application to make its activities persistent. -->
1401    <permission android:name="android.permission.PERSISTENT_ACTIVITY"
1402        android:permissionGroup="android.permission-group.APP_INFO"
1403        android:protectionLevel="normal"
1404        android:label="@string/permlab_persistentActivity"
1405        android:description="@string/permdesc_persistentActivity" />
1406
1407    <!-- Allows an application to find out the space used by any package. -->
1408    <permission android:name="android.permission.GET_PACKAGE_SIZE"
1409        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1410        android:protectionLevel="normal"
1411        android:label="@string/permlab_getPackageSize"
1412        android:description="@string/permdesc_getPackageSize" />
1413
1414    <!-- @deprecated No longer useful, see
1415         {@link android.content.pm.PackageManager#addPackageToPreferred}
1416         for details. -->
1417    <permission android:name="android.permission.SET_PREFERRED_APPLICATIONS"
1418        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1419        android:protectionLevel="signature"
1420        android:label="@string/permlab_setPreferredApplications"
1421        android:description="@string/permdesc_setPreferredApplications" />
1422
1423    <!-- Allows an application to receive the
1424         {@link android.content.Intent#ACTION_BOOT_COMPLETED} that is
1425         broadcast after the system finishes booting.  If you don't
1426         request this permission, you will not receive the broadcast at
1427         that time.  Though holding this permission does not have any
1428         security implications, it can have a negative impact on the
1429         user experience by increasing the amount of time it takes the
1430         system to start and allowing applications to have themselves
1431         running without the user being aware of them.  As such, you must
1432         explicitly declare your use of this facility to make that visible
1433         to the user. -->
1434    <permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"
1435        android:permissionGroup="android.permission-group.APP_INFO"
1436        android:protectionLevel="normal"
1437        android:label="@string/permlab_receiveBootCompleted"
1438        android:description="@string/permdesc_receiveBootCompleted" />
1439
1440    <!-- Allows an application to broadcast sticky intents.  These are
1441         broadcasts whose data is held by the system after being finished,
1442         so that clients can quickly retrieve that data without having
1443         to wait for the next broadcast. -->
1444    <permission android:name="android.permission.BROADCAST_STICKY"
1445        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1446        android:protectionLevel="normal"
1447        android:label="@string/permlab_broadcastSticky"
1448        android:description="@string/permdesc_broadcastSticky" />
1449
1450    <!-- Allows mounting and unmounting file systems for removable storage. -->
1451    <permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"
1452        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1453        android:protectionLevel="system|signature"
1454        android:label="@string/permlab_mount_unmount_filesystems"
1455        android:description="@string/permdesc_mount_unmount_filesystems" />
1456
1457    <!-- Allows formatting file systems for removable storage. -->
1458    <permission android:name="android.permission.MOUNT_FORMAT_FILESYSTEMS"
1459        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1460        android:protectionLevel="system|signature"
1461        android:label="@string/permlab_mount_format_filesystems"
1462        android:description="@string/permdesc_mount_format_filesystems" />
1463
1464    <!-- Allows access to ASEC non-destructive API calls
1465         @hide  -->
1466    <permission android:name="android.permission.ASEC_ACCESS"
1467        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1468        android:protectionLevel="signature"
1469        android:label="@string/permlab_asec_access"
1470        android:description="@string/permdesc_asec_access" />
1471
1472    <!-- Allows creation of ASEC volumes
1473         @hide  -->
1474    <permission android:name="android.permission.ASEC_CREATE"
1475        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1476        android:protectionLevel="signature"
1477        android:label="@string/permlab_asec_create"
1478        android:description="@string/permdesc_asec_create" />
1479
1480    <!-- Allows destruction of ASEC volumes
1481         @hide  -->
1482    <permission android:name="android.permission.ASEC_DESTROY"
1483        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1484        android:protectionLevel="signature"
1485        android:label="@string/permlab_asec_destroy"
1486        android:description="@string/permdesc_asec_destroy" />
1487
1488    <!-- Allows mount / unmount of ASEC volumes
1489         @hide  -->
1490    <permission android:name="android.permission.ASEC_MOUNT_UNMOUNT"
1491        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1492        android:protectionLevel="signature"
1493        android:label="@string/permlab_asec_mount_unmount"
1494        android:description="@string/permdesc_asec_mount_unmount" />
1495
1496    <!-- Allows rename of ASEC volumes
1497         @hide  -->
1498    <permission android:name="android.permission.ASEC_RENAME"
1499        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1500        android:protectionLevel="signature"
1501        android:label="@string/permlab_asec_rename"
1502        android:description="@string/permdesc_asec_rename" />
1503
1504    <!-- Allows applications to write the apn settings -->
1505    <permission android:name="android.permission.WRITE_APN_SETTINGS"
1506                android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1507                android:protectionLevel="signature|system"
1508                android:description="@string/permdesc_writeApnSettings"
1509                android:label="@string/permlab_writeApnSettings" />
1510
1511    <!-- Allows an application to allow access the subscribed feeds
1512         ContentProvider. -->
1513    <permission android:name="android.permission.SUBSCRIBED_FEEDS_READ"
1514        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1515        android:label="@string/permlab_subscribedFeedsRead"
1516        android:description="@string/permdesc_subscribedFeedsRead"
1517        android:protectionLevel="normal" />
1518    <permission android:name="android.permission.SUBSCRIBED_FEEDS_WRITE"
1519        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1520        android:label="@string/permlab_subscribedFeedsWrite"
1521        android:description="@string/permdesc_subscribedFeedsWrite"
1522        android:protectionLevel="dangerous" />
1523
1524    <!-- Allows applications to change network connectivity state -->
1525    <permission android:name="android.permission.CHANGE_NETWORK_STATE"
1526        android:permissionGroup="android.permission-group.NETWORK"
1527        android:protectionLevel="normal"
1528        android:description="@string/permdesc_changeNetworkState"
1529        android:label="@string/permlab_changeNetworkState" />
1530
1531    <!-- Allows an application to clear the caches of all installed
1532         applications on the device.  -->
1533    <permission android:name="android.permission.CLEAR_APP_CACHE"
1534        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1535        android:protectionLevel="dangerous"
1536        android:label="@string/permlab_clearAppCache"
1537        android:description="@string/permdesc_clearAppCache" />
1538
1539    <!-- Allows an application to use any media decoder when decoding for playback
1540         @hide -->
1541    <permission android:name="android.permission.ALLOW_ANY_CODEC_FOR_PLAYBACK"
1542        android:protectionLevel="signature|system"
1543        android:label="@string/permlab_anyCodecForPlayback"
1544        android:description="@string/permdesc_anyCodecForPlayback" />
1545
1546    <!-- ========================================= -->
1547    <!-- Permissions for special development tools -->
1548    <!-- ========================================= -->
1549    <eat-comment />
1550
1551    <!-- Group of permissions that are related to development features.  These
1552         are not permissions that should appear in normal applications; they
1553         protect APIs that are intended only to be used for development
1554         purposes. -->
1555    <permission-group android:name="android.permission-group.DEVELOPMENT_TOOLS"
1556        android:label="@string/permgrouplab_developmentTools"
1557        android:description="@string/permgroupdesc_developmentTools"
1558        android:priority="310" />
1559
1560    <!-- Allows an application to read or write the secure system settings. -->
1561    <permission android:name="android.permission.WRITE_SECURE_SETTINGS"
1562        android:permissionGroup="android.permission-group.DEVELOPMENT_TOOLS"
1563        android:protectionLevel="signature|system|development"
1564        android:label="@string/permlab_writeSecureSettings"
1565        android:description="@string/permdesc_writeSecureSettings" />
1566
1567    <!-- Allows an application to retrieve state dump information from system
1568         services. -->
1569    <permission android:name="android.permission.DUMP"
1570        android:permissionGroup="android.permission-group.DEVELOPMENT_TOOLS"
1571        android:protectionLevel="signature|system|development"
1572        android:label="@string/permlab_dump"
1573        android:description="@string/permdesc_dump" />
1574
1575    <!-- Allows an application to read the low-level system log files.
1576         Log entries can contain the user's private information,
1577         which is why this permission is not available to normal apps. -->
1578    <permission android:name="android.permission.READ_LOGS"
1579        android:permissionGroup="android.permission-group.DEVELOPMENT_TOOLS"
1580        android:protectionLevel="signature|system|development"
1581        android:label="@string/permlab_readLogs"
1582        android:description="@string/permdesc_readLogs" />
1583
1584    <!-- Configure an application for debugging. -->
1585    <permission android:name="android.permission.SET_DEBUG_APP"
1586        android:permissionGroup="android.permission-group.DEVELOPMENT_TOOLS"
1587        android:protectionLevel="signature|system|development"
1588        android:label="@string/permlab_setDebugApp"
1589        android:description="@string/permdesc_setDebugApp" />
1590
1591    <!-- Allows an application to set the maximum number of (not needed)
1592         application processes that can be running. -->
1593    <permission android:name="android.permission.SET_PROCESS_LIMIT"
1594        android:permissionGroup="android.permission-group.DEVELOPMENT_TOOLS"
1595        android:protectionLevel="signature|system|development"
1596        android:label="@string/permlab_setProcessLimit"
1597        android:description="@string/permdesc_setProcessLimit" />
1598
1599    <!-- Allows an application to control whether activities are immediately
1600         finished when put in the background. -->
1601    <permission android:name="android.permission.SET_ALWAYS_FINISH"
1602        android:permissionGroup="android.permission-group.DEVELOPMENT_TOOLS"
1603        android:protectionLevel="signature|system|development"
1604        android:label="@string/permlab_setAlwaysFinish"
1605        android:description="@string/permdesc_setAlwaysFinish" />
1606
1607    <!-- Allow an application to request that a signal be sent to all persistent processes -->
1608    <permission android:name="android.permission.SIGNAL_PERSISTENT_PROCESSES"
1609        android:permissionGroup="android.permission-group.DEVELOPMENT_TOOLS"
1610        android:protectionLevel="signature|system|development"
1611        android:label="@string/permlab_signalPersistentProcesses"
1612        android:description="@string/permdesc_signalPersistentProcesses" />
1613
1614    <!-- ==================================== -->
1615    <!-- Private (signature-only) permissions -->
1616    <!-- ==================================== -->
1617    <eat-comment />
1618
1619    <!-- Allows applications to RW to diagnostic resources. -->
1620    <permission android:name="android.permission.DIAGNOSTIC"
1621        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1622        android:protectionLevel="signature"
1623        android:description="@string/permdesc_diagnostic"
1624        android:label="@string/permlab_diagnostic" />
1625
1626    <!-- Allows an application to open, close, or disable the status bar
1627         and its icons. -->
1628    <permission android:name="android.permission.STATUS_BAR"
1629        android:label="@string/permlab_statusBar"
1630        android:description="@string/permdesc_statusBar"
1631        android:protectionLevel="signature|system" />
1632
1633    <!-- Allows an application to be the status bar.  Currently used only by SystemUI.apk
1634    @hide -->
1635    <permission android:name="android.permission.STATUS_BAR_SERVICE"
1636        android:label="@string/permlab_statusBarService"
1637        android:description="@string/permdesc_statusBarService"
1638        android:protectionLevel="signature" />
1639
1640    <!-- Allows an application to force a BACK operation on whatever is the
1641         top activity. -->
1642    <permission android:name="android.permission.FORCE_BACK"
1643        android:label="@string/permlab_forceBack"
1644        android:description="@string/permdesc_forceBack"
1645        android:protectionLevel="signature" />
1646
1647    <!-- Allows an application to update device statistics. Not for
1648         use by third party apps. -->
1649    <permission android:name="android.permission.UPDATE_DEVICE_STATS"
1650        android:label="@string/permlab_updateBatteryStats"
1651        android:description="@string/permdesc_updateBatteryStats"
1652        android:protectionLevel="signature|system" />
1653
1654    <!-- Allows an application to open windows that are for use by parts
1655         of the system user interface.  Not for use by third party apps. -->
1656    <permission android:name="android.permission.INTERNAL_SYSTEM_WINDOW"
1657        android:label="@string/permlab_internalSystemWindow"
1658        android:description="@string/permdesc_internalSystemWindow"
1659        android:protectionLevel="signature" />
1660
1661    <!-- Allows an application to manage (create, destroy,
1662         Z-order) application tokens in the window manager.  This is only
1663         for use by the system. -->
1664    <permission android:name="android.permission.MANAGE_APP_TOKENS"
1665        android:label="@string/permlab_manageAppTokens"
1666        android:description="@string/permdesc_manageAppTokens"
1667        android:protectionLevel="signature" />
1668
1669    <!-- @hide Allows the application to temporarily freeze the screen for a
1670         full-screen transition. -->
1671    <permission android:name="android.permission.FREEZE_SCREEN"
1672        android:label="@string/permlab_freezeScreen"
1673        android:description="@string/permdesc_freezeScreen"
1674        android:protectionLevel="signature" />
1675    
1676    <!-- Allows an application to inject user events (keys, touch, trackball)
1677         into the event stream and deliver them to ANY window.  Without this
1678         permission, you can only deliver events to windows in your own process.
1679         Very few applications should need to use this permission. -->
1680    <permission android:name="android.permission.INJECT_EVENTS"
1681        android:label="@string/permlab_injectEvents"
1682        android:description="@string/permdesc_injectEvents"
1683        android:protectionLevel="signature" />
1684
1685    <!-- @hide Allows an application to register an input filter which filters the stream
1686         of user events (keys, touch, trackball) before they are dispatched to any window. -->
1687    <permission android:name="android.permission.FILTER_EVENTS"
1688        android:label="@string/permlab_filter_events"
1689        android:description="@string/permdesc_filter_events"
1690        android:protectionLevel="signature" />
1691
1692    <!-- @hide Allows an application to retrieve info for a window from the window manager. -->
1693    <permission android:name="android.permission.RETRIEVE_WINDOW_INFO"
1694        android:label="@string/permlab_retrieve_window_info"
1695        android:description="@string/permdesc_retrieve_window_info"
1696        android:protectionLevel="signature" />
1697
1698    <!-- @hide Allows an application to temporary enable accessibility on the device. -->
1699    <permission android:name="android.permission.TEMPORARY_ENABLE_ACCESSIBILITY"
1700        android:label="@string/permlab_temporary_enable_accessibility"
1701        android:description="@string/permdesc_temporary_enable_accessibility"
1702        android:protectionLevel="signature" />
1703
1704    <!-- @hide Allows an application to magnify the content of a display. -->
1705    <permission android:name="android.permission.MAGNIFY_DISPLAY"
1706        android:label="@string/permlab_magnify_display"
1707        android:description="@string/permdesc_magnify_display"
1708        android:protectionLevel="signature" />
1709
1710    <!-- Allows an application to watch and control how activities are
1711         started globally in the system.  Only for is in debugging
1712         (usually the monkey command). -->
1713    <permission android:name="android.permission.SET_ACTIVITY_WATCHER"
1714        android:label="@string/permlab_runSetActivityWatcher"
1715        android:description="@string/permdesc_runSetActivityWatcher"
1716        android:protectionLevel="signature" />
1717
1718    <!-- Allows an application to call the activity manager shutdown() API
1719         to put the higher-level system there into a shutdown state.
1720         @hide -->
1721    <permission android:name="android.permission.SHUTDOWN"
1722        android:label="@string/permlab_shutdown"
1723        android:description="@string/permdesc_shutdown"
1724        android:protectionLevel="signature|system" />
1725
1726    <!-- Allows an application to tell the activity manager to temporarily
1727         stop application switches, putting it into a special mode that
1728         prevents applications from immediately switching away from some
1729         critical UI such as the home screen.
1730         @hide -->
1731    <permission android:name="android.permission.STOP_APP_SWITCHES"
1732        android:label="@string/permlab_stopAppSwitches"
1733        android:description="@string/permdesc_stopAppSwitches"
1734        android:protectionLevel="signature|system" />
1735
1736    <!-- Allows an application to retrieve the current state of keys and
1737         switches.  This is only for use by the system.
1738         @deprecated The API that used this permission has been removed. -->
1739    <permission android:name="android.permission.READ_INPUT_STATE"
1740        android:label="@string/permlab_readInputState"
1741        android:description="@string/permdesc_readInputState"
1742        android:protectionLevel="signature" />
1743
1744    <!-- Must be required by an {@link android.inputmethodservice.InputMethodService},
1745         to ensure that only the system can bind to it. -->
1746    <permission android:name="android.permission.BIND_INPUT_METHOD"
1747        android:label="@string/permlab_bindInputMethod"
1748        android:description="@string/permdesc_bindInputMethod"
1749        android:protectionLevel="signature" />
1750
1751        <!-- Must be required by an {@link android.accessibilityservice.AccessibilityService},
1752         to ensure that only the system can bind to it. -->
1753    <permission android:name="android.permission.BIND_ACCESSIBILITY_SERVICE"
1754        android:label="@string/permlab_bindAccessibilityService"
1755        android:description="@string/permdesc_bindAccessibilityService"
1756        android:protectionLevel="signature" />
1757
1758    <!-- Must be required by a TextService (e.g. SpellCheckerService)
1759         to ensure that only the system can bind to it. -->
1760    <permission android:name="android.permission.BIND_TEXT_SERVICE"
1761        android:label="@string/permlab_bindTextService"
1762        android:description="@string/permdesc_bindTextService"
1763        android:protectionLevel="signature" />
1764
1765    <!-- Must be required by an {@link android.net.VpnService},
1766         to ensure that only the system can bind to it. -->
1767    <permission android:name="android.permission.BIND_VPN_SERVICE"
1768        android:label="@string/permlab_bindVpnService"
1769        android:description="@string/permdesc_bindVpnService"
1770        android:protectionLevel="signature" />
1771
1772    <!-- Must be required by a {@link android.service.wallpaper.WallpaperService},
1773         to ensure that only the system can bind to it. -->
1774    <permission android:name="android.permission.BIND_WALLPAPER"
1775        android:label="@string/permlab_bindWallpaper"
1776        android:description="@string/permdesc_bindWallpaper"
1777        android:protectionLevel="signature|system" />
1778
1779    <!-- Must be required by device administration receiver, to ensure that only the
1780         system can interact with it. -->
1781    <permission android:name="android.permission.BIND_DEVICE_ADMIN"
1782        android:label="@string/permlab_bindDeviceAdmin"
1783        android:description="@string/permdesc_bindDeviceAdmin"
1784        android:protectionLevel="signature" />
1785
1786    <!-- Allows low-level access to setting the orientation (actually
1787         rotation) of the screen.  Not for use by normal applications. -->
1788    <permission android:name="android.permission.SET_ORIENTATION"
1789        android:label="@string/permlab_setOrientation"
1790        android:description="@string/permdesc_setOrientation"
1791        android:protectionLevel="signature" />
1792
1793    <!-- Allows low-level access to setting the pointer speed.
1794         Not for use by normal applications. -->
1795    <permission android:name="android.permission.SET_POINTER_SPEED"
1796        android:label="@string/permlab_setPointerSpeed"
1797        android:description="@string/permdesc_setPointerSpeed"
1798        android:protectionLevel="signature" />
1799
1800    <!-- Allows low-level access to setting the keyboard layout.
1801         Not for use by normal applications.
1802         @hide -->
1803    <permission android:name="android.permission.SET_KEYBOARD_LAYOUT"
1804        android:label="@string/permlab_setKeyboardLayout"
1805        android:description="@string/permdesc_setKeyboardLayout"
1806        android:protectionLevel="signature" />
1807
1808    <!-- Allows an application to install packages. -->
1809    <permission android:name="android.permission.INSTALL_PACKAGES"
1810        android:label="@string/permlab_installPackages"
1811        android:description="@string/permdesc_installPackages"
1812        android:protectionLevel="signature|system" />
1813
1814    <!-- Allows an application to clear user data -->
1815    <permission android:name="android.permission.CLEAR_APP_USER_DATA"
1816        android:label="@string/permlab_clearAppUserData"
1817        android:description="@string/permdesc_clearAppUserData"
1818        android:protectionLevel="signature" />
1819
1820    <!-- Allows an application to delete cache files. -->
1821    <permission android:name="android.permission.DELETE_CACHE_FILES"
1822        android:label="@string/permlab_deleteCacheFiles"
1823        android:description="@string/permdesc_deleteCacheFiles"
1824        android:protectionLevel="signature|system" />
1825
1826    <!-- Allows an application to delete packages. -->
1827    <permission android:name="android.permission.DELETE_PACKAGES"
1828        android:label="@string/permlab_deletePackages"
1829        android:description="@string/permdesc_deletePackages"
1830        android:protectionLevel="signature|system" />
1831
1832    <!-- Allows an application to move location of installed package.
1833         @hide -->
1834    <permission android:name="android.permission.MOVE_PACKAGE"
1835        android:label="@string/permlab_movePackage"
1836        android:description="@string/permdesc_movePackage"
1837        android:protectionLevel="signature|system" />
1838
1839    <!-- Allows an application to change whether an application component (other than its own) is
1840         enabled or not. -->
1841    <permission android:name="android.permission.CHANGE_COMPONENT_ENABLED_STATE"
1842        android:label="@string/permlab_changeComponentState"
1843        android:description="@string/permdesc_changeComponentState"
1844        android:protectionLevel="signature|system" />
1845
1846    <!-- @hide Allows an application to grant or revoke specific permissions. -->
1847    <permission android:name="android.permission.GRANT_REVOKE_PERMISSIONS"
1848        android:label="@string/permlab_grantRevokePermissions"
1849        android:description="@string/permdesc_grantRevokePermissions"
1850        android:protectionLevel="signature" />
1851
1852    <!-- Allows an application to use SurfaceFlinger's low level features -->
1853    <permission android:name="android.permission.ACCESS_SURFACE_FLINGER"
1854        android:label="@string/permlab_accessSurfaceFlinger"
1855        android:description="@string/permdesc_accessSurfaceFlinger"
1856        android:protectionLevel="signature" />
1857
1858    <!-- Allows an application to take screen shots and more generally
1859         get access to the frame buffer data -->
1860    <permission android:name="android.permission.READ_FRAME_BUFFER"
1861        android:label="@string/permlab_readFrameBuffer"
1862        android:description="@string/permdesc_readFrameBuffer"
1863        android:protectionLevel="signature|system" />
1864
1865    <!-- Allows an application to configure and connect to Wifi displays
1866         @hide -->
1867    <permission android:name="android.permission.CONFIGURE_WIFI_DISPLAY"
1868        android:label="@string/permlab_configureWifiDisplay"
1869        android:description="@string/permdesc_configureWifiDisplay"
1870        android:protectionLevel="signature" />
1871
1872    <!-- Allows an application to control low-level features of Wifi displays
1873         such as opening an RTSP socket.  This permission should only be used
1874         by the display manager.
1875         @hide -->
1876    <permission android:name="android.permission.CONTROL_WIFI_DISPLAY"
1877        android:label="@string/permlab_controlWifiDisplay"
1878        android:description="@string/permdesc_controlWifiDisplay"
1879        android:protectionLevel="signature" />
1880
1881    <!-- Required to be able to disable the device (very dangerous!). -->
1882    <permission android:name="android.permission.BRICK"
1883        android:label="@string/permlab_brick"
1884        android:description="@string/permdesc_brick"
1885        android:protectionLevel="signature" />
1886
1887    <!-- Required to be able to reboot the device. -->
1888    <permission android:name="android.permission.REBOOT"
1889        android:label="@string/permlab_reboot"
1890        android:description="@string/permdesc_reboot"
1891        android:protectionLevel="signature|system" />
1892
1893   <!-- Allows low-level access to power management -->
1894    <permission android:name="android.permission.DEVICE_POWER"
1895        android:label="@string/permlab_devicePower"
1896        android:description="@string/permdesc_devicePower"
1897        android:protectionLevel="signature" />
1898
1899   <!-- @hide Allows low-level access to tun tap driver -->
1900    <permission android:name="android.permission.NET_TUNNELING"
1901        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1902        android:protectionLevel="signature" />
1903
1904    <!-- Run as a manufacturer test application, running as the root user.
1905         Only available when the device is running in manufacturer test mode. -->
1906    <permission android:name="android.permission.FACTORY_TEST"
1907        android:label="@string/permlab_factoryTest"
1908        android:description="@string/permdesc_factoryTest"
1909        android:protectionLevel="signature" />
1910
1911    <!-- Allows an application to broadcast a notification that an application
1912         package has been removed. -->
1913    <permission android:name="android.permission.BROADCAST_PACKAGE_REMOVED"
1914        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1915        android:label="@string/permlab_broadcastPackageRemoved"
1916        android:description="@string/permdesc_broadcastPackageRemoved"
1917        android:protectionLevel="signature" />
1918
1919    <!-- Allows an application to broadcast an SMS receipt notification -->
1920    <permission android:name="android.permission.BROADCAST_SMS"
1921        android:permissionGroup="android.permission-group.MESSAGES"
1922        android:label="@string/permlab_broadcastSmsReceived"
1923        android:description="@string/permdesc_broadcastSmsReceived"
1924        android:protectionLevel="signature" />
1925
1926    <!-- Allows an application to broadcast a WAP PUSH receipt notification -->
1927    <permission android:name="android.permission.BROADCAST_WAP_PUSH"
1928        android:permissionGroup="android.permission-group.MESSAGES"
1929        android:label="@string/permlab_broadcastWapPush"
1930        android:description="@string/permdesc_broadcastWapPush"
1931        android:protectionLevel="signature" />
1932
1933    <permission android:name="android.permission.MASTER_CLEAR"
1934        android:label="@string/permlab_masterClear"
1935        android:description="@string/permdesc_masterClear"
1936        android:protectionLevel="signature|system" />
1937
1938    <!-- Allows an application to call any phone number, including emergency
1939         numbers, without going through the Dialer user interface for the user
1940         to confirm the call being placed. -->
1941    <permission android:name="android.permission.CALL_PRIVILEGED"
1942        android:label="@string/permlab_callPrivileged"
1943        android:description="@string/permdesc_callPrivileged"
1944        android:protectionLevel="signature|system" />
1945
1946    <!-- Allows an application to perform CDMA OTA provisioning @hide -->
1947    <permission android:name="android.permission.PERFORM_CDMA_PROVISIONING"
1948        android:label="@string/permlab_performCdmaProvisioning"
1949        android:description="@string/permdesc_performCdmaProvisioning"
1950        android:protectionLevel="signature|system" />
1951
1952    <!-- Allows enabling/disabling location update notifications from
1953         the radio. Not for use by normal applications. -->
1954    <permission android:name="android.permission.CONTROL_LOCATION_UPDATES"
1955        android:label="@string/permlab_locationUpdates"
1956        android:description="@string/permdesc_locationUpdates"
1957        android:protectionLevel="signature|system" />
1958
1959    <!-- Allows read/write access to the "properties" table in the checkin
1960         database, to change values that get uploaded. -->
1961    <permission android:name="android.permission.ACCESS_CHECKIN_PROPERTIES"
1962        android:label="@string/permlab_checkinProperties"
1963        android:description="@string/permdesc_checkinProperties"
1964        android:protectionLevel="signature|system" />
1965
1966    <!-- Allows an application to collect component usage
1967         statistics @hide -->
1968    <permission android:name="android.permission.PACKAGE_USAGE_STATS"
1969        android:label="@string/permlab_pkgUsageStats"
1970        android:description="@string/permdesc_pkgUsageStats"
1971        android:protectionLevel="signature|system" />
1972
1973    <!-- Allows an application to collect battery statistics -->
1974    <permission android:name="android.permission.BATTERY_STATS"
1975        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1976        android:label="@string/permlab_batteryStats"
1977        android:description="@string/permdesc_batteryStats"
1978        android:protectionLevel="dangerous" />
1979
1980    <!-- Allows an application to control the backup and restore process
1981         @hide pending API council -->
1982    <permission android:name="android.permission.BACKUP"
1983        android:label="@string/permlab_backup"
1984        android:description="@string/permdesc_backup"
1985        android:protectionLevel="signature|system" />
1986
1987    <!-- Allows a package to launch the secure full-backup confirmation UI.
1988         ONLY the system process may hold this permission.
1989         @hide -->
1990    <permission android:name="android.permission.CONFIRM_FULL_BACKUP"
1991        android:label="@string/permlab_confirm_full_backup"
1992        android:description="@string/permdesc_confirm_full_backup"
1993        android:protectionLevel="signature" />
1994
1995    <!-- Must be required by a {@link android.widget.RemoteViewsService},
1996         to ensure that only the system can bind to it. -->
1997    <permission android:name="android.permission.BIND_REMOTEVIEWS"
1998        android:label="@string/permlab_bindRemoteViews"
1999        android:description="@string/permdesc_bindRemoteViews"
2000        android:protectionLevel="signature|system" />
2001
2002    <!-- Allows an application to tell the AppWidget service which application
2003         can access AppWidget's data.  The normal user flow is that a user
2004         picks an AppWidget to go into a particular host, thereby giving that
2005         host application access to the private data from the AppWidget app.
2006         An application that has this permission should honor that contract.
2007         Very few applications should need to use this permission. -->
2008    <permission android:name="android.permission.BIND_APPWIDGET"
2009        android:permissionGroup="android.permission-group.PERSONAL_INFO"
2010        android:label="@string/permlab_bindGadget"
2011        android:description="@string/permdesc_bindGadget"
2012        android:protectionLevel="signature|system" />
2013
2014    <!-- Private permission, to restrict who can bring up a dialog to add a new
2015         keyguard widget
2016         @hide -->
2017    <permission android:name="android.permission.BIND_KEYGUARD_APPWIDGET"
2018        android:permissionGroup="android.permission-group.PERSONAL_INFO"
2019        android:protectionLevel="signature|system" />
2020
2021    <!-- Internal permission allowing an application to query/set which
2022         applications can bind AppWidgets.
2023         @hide -->
2024    <permission android:name="android.permission.MODIFY_APPWIDGET_BIND_PERMISSIONS"
2025        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
2026        android:protectionLevel="signature|system" />
2027
2028    <!-- Allows applications to change the background data setting
2029         @hide pending API council -->
2030    <permission android:name="android.permission.CHANGE_BACKGROUND_DATA_SETTING"
2031        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
2032        android:protectionLevel="signature"
2033        android:description="@string/permdesc_changeBackgroundDataSetting"
2034        android:label="@string/permlab_changeBackgroundDataSetting" />
2035
2036    <!-- This permission can be used on content providers to allow the global
2037         search system to access their data.  Typically it used when the
2038         provider has some permissions protecting it (which global search
2039         would not be expected to hold), and added as a read-only permission
2040         to the path in the provider where global search queries are
2041         performed.  This permission can not be held by regular applications;
2042         it is used by applications to protect themselves from everyone else
2043         besides global search. -->
2044    <permission android:name="android.permission.GLOBAL_SEARCH"
2045        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
2046        android:protectionLevel="signature|system" />
2047
2048    <!-- Internal permission protecting access to the global search
2049         system: ensures that only the system can access the provider
2050         to perform queries (since this otherwise provides unrestricted
2051         access to a variety of content providers), and to write the
2052         search statistics (to keep applications from gaming the source
2053         ranking).
2054         @hide -->
2055    <permission android:name="android.permission.GLOBAL_SEARCH_CONTROL"
2056        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
2057        android:protectionLevel="signature" />
2058
2059    <!-- Allows applications to set a live wallpaper.
2060         @hide XXX Change to signature once the picker is moved to its
2061         own apk as Ghod Intended. -->
2062    <permission android:name="android.permission.SET_WALLPAPER_COMPONENT"
2063        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
2064        android:protectionLevel="signature|system" />
2065
2066    <!-- Allows applications to read dream settings and dream state.
2067         @hide -->
2068    <permission android:name="android.permission.READ_DREAM_STATE"
2069        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
2070        android:protectionLevel="signature" />
2071
2072    <!-- Allows applications to write dream settings, and start or stop dreaming.
2073         @hide -->
2074    <permission android:name="android.permission.WRITE_DREAM_STATE"
2075        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
2076        android:protectionLevel="signature" />
2077
2078    <!-- Allow an application to read and write the cache partition.
2079         @hide -->
2080    <permission android:name="android.permission.ACCESS_CACHE_FILESYSTEM"
2081        android:label="@string/permlab_cache_filesystem"
2082        android:description="@string/permdesc_cache_filesystem"
2083        android:protectionLevel="signature|system" />
2084
2085    <!-- Must be required by default container service so that only
2086         the system can bind to it and use it to copy
2087         protected data to secure containers or files
2088         accessible to the system.
2089         @hide -->
2090    <permission android:name="android.permission.COPY_PROTECTED_DATA"
2091        android:label="@string/permlab_copyProtectedData"
2092        android:description="@string/permlab_copyProtectedData"
2093        android:protectionLevel="signature" />
2094
2095    <!-- Internal permission protecting access to the encryption methods
2096        @hide
2097    -->
2098    <permission android:name="android.permission.CRYPT_KEEPER"
2099        android:protectionLevel="signature|system" />
2100
2101    <!-- Allows an application to read historical network usage for
2102         specific networks and applications. @hide -->
2103    <permission android:name="android.permission.READ_NETWORK_USAGE_HISTORY"
2104        android:label="@string/permlab_readNetworkUsageHistory"
2105        android:description="@string/permdesc_readNetworkUsageHistory"
2106        android:protectionLevel="signature|system" />
2107
2108    <!-- Allows an application to manage network policies (such as warning and disable
2109         limits) and to define application-specific rules. @hide -->
2110    <permission android:name="android.permission.MANAGE_NETWORK_POLICY"
2111        android:label="@string/permlab_manageNetworkPolicy"
2112        android:description="@string/permdesc_manageNetworkPolicy"
2113        android:protectionLevel="signature" />
2114
2115    <!-- Allows an application to account its network traffic against other UIDs. Used
2116         by system services like download manager and media server. Not for use by
2117         third party apps. @hide -->
2118    <permission android:name="android.permission.MODIFY_NETWORK_ACCOUNTING"
2119        android:label="@string/permlab_modifyNetworkAccounting"
2120        android:description="@string/permdesc_modifyNetworkAccounting"
2121        android:protectionLevel="signature|system" />
2122
2123    <!-- C2DM permission.
2124         @hide Used internally.
2125     -->
2126    <permission android:name="android.intent.category.MASTER_CLEAR.permission.C2D_MESSAGE"
2127          android:protectionLevel="signature" />
2128    <uses-permission android:name="android.intent.category.MASTER_CLEAR.permission.C2D_MESSAGE"/>
2129
2130    <!-- @hide Package verifier needs to have this permission before the PackageManager will
2131         trust it to verify packages.
2132    -->
2133    <permission android:name="android.permission.PACKAGE_VERIFICATION_AGENT"
2134        android:label="@string/permlab_packageVerificationAgent"
2135        android:description="@string/permdesc_packageVerificationAgent"
2136        android:protectionLevel="signature|system" />
2137
2138    <!-- Must be required by package verifier receiver, to ensure that only the
2139         system can interact with it.
2140         @hide
2141    -->
2142    <permission android:name="android.permission.BIND_PACKAGE_VERIFIER"
2143        android:label="@string/permlab_bindPackageVerifier"
2144        android:description="@string/permdesc_bindPackageVerifier"
2145        android:protectionLevel="signature" />
2146
2147    <!-- Allows applications to access serial ports via the SerialManager.
2148         @hide -->
2149    <permission android:name="android.permission.SERIAL_PORT"
2150        android:label="@string/permlab_serialPort"
2151        android:description="@string/permdesc_serialPort"
2152        android:protectionLevel="signature|system" />
2153
2154    <!-- Allows the holder to access content providers from outside an ApplicationThread.
2155         This permission is enforced by the ActivityManagerService on the corresponding APIs,
2156         in particular ActivityManagerService#getContentProviderExternal(String) and
2157         ActivityManagerService#removeContentProviderExternal(String).
2158         @hide
2159    -->
2160    <permission android:name="android.permission.ACCESS_CONTENT_PROVIDERS_EXTERNALLY"
2161        android:label="@string/permlab_accessContentProvidersExternally"
2162        android:description="@string/permdesc_accessContentProvidersExternally"
2163        android:protectionLevel="signature" />
2164    <!-- Allows an application to hold an UpdateLock, recommending that a headless
2165         OTA reboot *not* occur while the lock is held.
2166         @hide -->
2167    <permission android:name="android.permission.UPDATE_LOCK"
2168        android:label="@string/permlab_updateLock"
2169        android:description="@string/permdesc_updateLock"
2170        android:protectionLevel="signatureOrSystem" />
2171
2172    <!-- The system process is explicitly the only one allowed to launch the
2173         confirmation UI for full backup/restore -->
2174    <uses-permission android:name="android.permission.CONFIRM_FULL_BACKUP"/>
2175
2176    <application android:process="system"
2177                 android:persistent="true"
2178                 android:hasCode="false"
2179                 android:label="@string/android_system_label"
2180                 android:allowClearUserData="false"
2181                 android:backupAgent="com.android.server.SystemBackupAgent"
2182                 android:killAfterRestore="false"
2183                 android:icon="@drawable/ic_launcher_android"
2184                 android:supportsRtl="true">
2185        <activity android:name="com.android.internal.app.ChooserActivity"
2186                android:theme="@style/Theme.Holo.Dialog.Alert"
2187                android:finishOnCloseSystemDialogs="true"
2188                android:excludeFromRecents="true"
2189                android:multiprocess="true">
2190            <intent-filter>
2191                <action android:name="android.intent.action.CHOOSER" />
2192                <category android:name="android.intent.category.DEFAULT" />
2193            </intent-filter>
2194        </activity>
2195        <activity android:name="com.android.internal.app.HeavyWeightSwitcherActivity"
2196                android:theme="@style/Theme.Holo.Dialog"
2197                android:label="@string/heavy_weight_switcher_title"
2198                android:finishOnCloseSystemDialogs="true"
2199                android:excludeFromRecents="true"
2200                android:process=":ui">
2201        </activity>
2202        <activity android:name="com.android.internal.app.PlatLogoActivity"
2203                android:theme="@style/Theme.Wallpaper.NoTitleBar.Fullscreen"
2204                android:process=":ui">
2205        </activity>
2206        <activity android:name="com.android.internal.app.DisableCarModeActivity"
2207                android:theme="@style/Theme.NoDisplay"
2208                android:excludeFromRecents="true"
2209                android:process=":ui">
2210        </activity>
2211
2212        <activity android:name="android.accounts.ChooseAccountActivity"
2213                android:excludeFromRecents="true"
2214                android:exported="true"
2215                android:theme="@android:style/Theme.Holo.Dialog"
2216                android:label="@string/choose_account_label"
2217                android:process=":ui">
2218        </activity>
2219
2220        <activity android:name="android.accounts.ChooseTypeAndAccountActivity"
2221                android:excludeFromRecents="true"
2222                android:exported="true"
2223                android:theme="@android:style/Theme.Holo.Dialog"
2224                android:label="@string/choose_account_label"
2225                android:process=":ui">
2226        </activity>
2227
2228        <activity android:name="android.accounts.ChooseAccountTypeActivity"
2229                android:excludeFromRecents="true"
2230                android:theme="@android:style/Theme.Holo.Dialog"
2231                android:label="@string/choose_account_label"
2232                android:process=":ui">
2233        </activity>
2234
2235        <activity android:name="android.accounts.GrantCredentialsPermissionActivity"
2236                android:excludeFromRecents="true"
2237                android:exported="true"
2238                android:theme="@android:style/Theme.Holo.DialogWhenLarge"
2239                android:process=":ui">
2240        </activity>
2241
2242        <activity android:name="android.content.SyncActivityTooManyDeletes"
2243               android:theme="@android:style/Theme.Holo.Dialog"
2244               android:label="@string/sync_too_many_deletes"
2245               android:process=":ui">
2246        </activity>
2247
2248        <activity android:name="com.android.server.ShutdownActivity"
2249            android:permission="android.permission.SHUTDOWN"
2250            android:excludeFromRecents="true">
2251            <intent-filter>
2252                <action android:name="android.intent.action.ACTION_REQUEST_SHUTDOWN" />
2253                <category android:name="android.intent.category.DEFAULT" />
2254            </intent-filter>
2255            <intent-filter>
2256                <action android:name="android.intent.action.REBOOT" />
2257                <category android:name="android.intent.category.DEFAULT" />
2258            </intent-filter>
2259        </activity>
2260
2261        <activity android:name="com.android.internal.app.NetInitiatedActivity"
2262                android:theme="@style/Theme.Holo.Dialog.Alert"
2263                android:excludeFromRecents="true"
2264                android:process=":ui">
2265        </activity>
2266
2267        <receiver android:name="com.android.server.BootReceiver"
2268                android:primaryUserOnly="true">
2269            <intent-filter>
2270                <action android:name="android.intent.action.BOOT_COMPLETED" />
2271            </intent-filter>
2272        </receiver>
2273
2274        <receiver android:name="com.android.server.updates.CertPinInstallReceiver" >
2275            <intent-filter>
2276                <action android:name="android.intent.action.UPDATE_PINS" />
2277            </intent-filter>
2278        </receiver>
2279
2280        <receiver android:name="com.android.server.updates.SmsShortCodesInstallReceiver" >
2281            <intent-filter>
2282                <action android:name="android.intent.action.UPDATE_SMS_SHORT_CODES" />
2283            </intent-filter>
2284        </receiver>
2285
2286        <receiver android:name="com.android.server.MasterClearReceiver"
2287            android:permission="android.permission.MASTER_CLEAR"
2288            android:priority="100" >
2289            <intent-filter>
2290                <!-- For Checkin, Settings, etc.: action=MASTER_CLEAR -->
2291                <action android:name="android.intent.action.MASTER_CLEAR" />
2292
2293                <!-- MCS always uses REMOTE_INTENT: category=MASTER_CLEAR -->
2294                <action android:name="com.google.android.c2dm.intent.RECEIVE" />
2295                <category android:name="android.intent.category.MASTER_CLEAR" />
2296            </intent-filter>
2297        </receiver>
2298
2299        <service android:name="com.android.internal.os.storage.ExternalStorageFormatter"
2300            android:permission="android.permission.MASTER_CLEAR"
2301            android:exported="true" />
2302
2303    </application>
2304
2305</manifest>
2306