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