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