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