AndroidManifest.xml revision 12fc80b2b207612f58fa057b8372bef3f32c9d29
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_SET" />
33    <protected-broadcast android:name="android.intent.action.TIME_TICK" />
34    <protected-broadcast android:name="android.intent.action.TIMEZONE_CHANGED" />
35    <protected-broadcast android:name="android.intent.action.DATE_CHANGED" />
36    <protected-broadcast android:name="android.intent.action.BOOT_COMPLETED" />
37    <protected-broadcast android:name="android.intent.action.PACKAGE_INSTALL" />
38    <protected-broadcast android:name="android.intent.action.PACKAGE_ADDED" />
39    <protected-broadcast android:name="android.intent.action.PACKAGE_REPLACED" />
40    <protected-broadcast android:name="android.intent.action.MY_PACKAGE_REPLACED" />
41    <protected-broadcast android:name="android.intent.action.PACKAGE_REMOVED" />
42    <protected-broadcast android:name="android.intent.action.PACKAGE_FULLY_REMOVED" />
43    <protected-broadcast android:name="android.intent.action.PACKAGE_CHANGED" />
44    <protected-broadcast android:name="android.intent.action.PACKAGE_RESTARTED" />
45    <protected-broadcast android:name="android.intent.action.PACKAGE_DATA_CLEARED" />
46    <protected-broadcast android:name="android.intent.action.PACKAGE_FIRST_LAUNCH" />
47    <protected-broadcast android:name="android.intent.action.PACKAGE_NEEDS_VERIFICATION" />
48    <protected-broadcast android:name="android.intent.action.PACKAGE_VERIFIED" />
49    <protected-broadcast android:name="android.intent.action.UID_REMOVED" />
50    <protected-broadcast android:name="android.intent.action.QUERY_PACKAGE_RESTART" />
51    <protected-broadcast android:name="android.intent.action.CONFIGURATION_CHANGED" />
52    <protected-broadcast android:name="android.intent.action.LOCALE_CHANGED" />
53    <protected-broadcast android:name="android.intent.action.BATTERY_CHANGED" />
54    <protected-broadcast android:name="android.intent.action.BATTERY_LOW" />
55    <protected-broadcast android:name="android.intent.action.BATTERY_OKAY" />
56    <protected-broadcast android:name="android.intent.action.ACTION_POWER_CONNECTED" />
57    <protected-broadcast android:name="android.intent.action.ACTION_POWER_DISCONNECTED" />
58    <protected-broadcast android:name="android.intent.action.ACTION_SHUTDOWN" />
59    <protected-broadcast android:name="android.intent.action.DEVICE_STORAGE_LOW" />
60    <protected-broadcast android:name="android.intent.action.DEVICE_STORAGE_OK" />
61    <protected-broadcast android:name="android.intent.action.DEVICE_STORAGE_FULL" />
62    <protected-broadcast android:name="android.intent.action.DEVICE_STORAGE_NOT_FULL" />
63    <protected-broadcast android:name="android.intent.action.NEW_OUTGOING_CALL" />
64    <protected-broadcast android:name="android.intent.action.REBOOT" />
65    <protected-broadcast android:name="android.intent.action.DOCK_EVENT" />
66    <protected-broadcast android:name="android.intent.action.MASTER_CLEAR_NOTIFICATION" />
67    <protected-broadcast android:name="android.intent.action.USER_ADDED" />
68    <protected-broadcast android:name="android.intent.action.USER_REMOVED" />
69    <protected-broadcast android:name="android.intent.action.USER_STARTING" />
70    <protected-broadcast android:name="android.intent.action.USER_STARTED" />
71    <protected-broadcast android:name="android.intent.action.USER_STOPPING" />
72    <protected-broadcast android:name="android.intent.action.USER_STOPPED" />
73    <protected-broadcast android:name="android.intent.action.USER_BACKGROUND" />
74    <protected-broadcast android:name="android.intent.action.USER_FOREGROUND" />
75    <protected-broadcast android:name="android.intent.action.USER_SWITCHED" />
76
77    <protected-broadcast android:name="android.os.action.POWER_SAVE_MODE_CHANGED" />
78    <protected-broadcast android:name="android.os.action.POWER_SAVE_MODE_CHANGING" />
79
80    <protected-broadcast android:name="android.app.action.ENTER_CAR_MODE" />
81    <protected-broadcast android:name="android.app.action.EXIT_CAR_MODE" />
82    <protected-broadcast android:name="android.app.action.ENTER_DESK_MODE" />
83    <protected-broadcast android:name="android.app.action.EXIT_DESK_MODE" />
84    <protected-broadcast android:name="android.app.action.NEXT_ALARM_CLOCK_CHANGED" />
85
86    <protected-broadcast android:name="android.appwidget.action.APPWIDGET_UPDATE_OPTIONS" />
87    <protected-broadcast android:name="android.appwidget.action.APPWIDGET_DELETED" />
88    <protected-broadcast android:name="android.appwidget.action.APPWIDGET_DISABLED" />
89    <protected-broadcast android:name="android.appwidget.action.APPWIDGET_ENABLED" />
90    <protected-broadcast android:name="android.appwidget.action.APPWIDGET_HOST_RESTORED" />
91    <protected-broadcast android:name="android.appwidget.action.APPWIDGET_RESTORED" />
92
93    <protected-broadcast android:name="android.backup.intent.RUN" />
94    <protected-broadcast android:name="android.backup.intent.CLEAR" />
95    <protected-broadcast android:name="android.backup.intent.INIT" />
96
97    <protected-broadcast android:name="android.bluetooth.adapter.action.STATE_CHANGED" />
98    <protected-broadcast android:name="android.bluetooth.adapter.action.SCAN_MODE_CHANGED" />
99    <protected-broadcast android:name="android.bluetooth.adapter.action.DISCOVERY_STARTED" />
100    <protected-broadcast android:name="android.bluetooth.adapter.action.DISCOVERY_FINISHED" />
101    <protected-broadcast android:name="android.bluetooth.adapter.action.LOCAL_NAME_CHANGED" />
102    <protected-broadcast android:name="android.bluetooth.adapter.action.CONNECTION_STATE_CHANGED" />
103    <protected-broadcast android:name="android.bluetooth.device.action.UUID" />
104    <protected-broadcast android:name="android.bluetooth.device.action.MAS_INSTANCE" />
105    <protected-broadcast android:name="android.bluetooth.device.action.ALIAS_CHANGED" />
106    <protected-broadcast android:name="android.bluetooth.device.action.FOUND" />
107    <protected-broadcast android:name="android.bluetooth.device.action.DISAPPEARED" />
108    <protected-broadcast android:name="android.bluetooth.device.action.CLASS_CHANGED" />
109    <protected-broadcast android:name="android.bluetooth.device.action.ACL_CONNECTED" />
110    <protected-broadcast android:name="android.bluetooth.device.action.ACL_DISCONNECT_REQUESTED" />
111    <protected-broadcast android:name="android.bluetooth.device.action.ACL_DISCONNECTED" />
112    <protected-broadcast android:name="android.bluetooth.device.action.NAME_CHANGED" />
113    <protected-broadcast android:name="android.bluetooth.device.action.BOND_STATE_CHANGED" />
114    <protected-broadcast android:name="android.bluetooth.device.action.NAME_FAILED" />
115    <protected-broadcast android:name="android.bluetooth.device.action.PAIRING_REQUEST" />
116    <protected-broadcast android:name="android.bluetooth.device.action.PAIRING_CANCEL" />
117    <protected-broadcast android:name="android.bluetooth.device.action.CONNECTION_ACCESS_REPLY" />
118    <protected-broadcast android:name="android.bluetooth.device.action.CONNECTION_ACCESS_CANCEL" />
119    <protected-broadcast android:name="android.bluetooth.device.action.CONNECTION_ACCESS_REQUEST" />
120    <protected-broadcast android:name="android.bluetooth.devicepicker.action.LAUNCH" />
121    <protected-broadcast android:name="android.bluetooth.devicepicker.action.DEVICE_SELECTED" />
122    <protected-broadcast
123        android:name="android.bluetooth.headset.profile.action.CONNECTION_STATE_CHANGED" />
124    <protected-broadcast
125        android:name="android.bluetooth.headset.profile.action.AUDIO_STATE_CHANGED" />
126    <protected-broadcast
127        android:name="android.bluetooth.headset.action.VENDOR_SPECIFIC_HEADSET_EVENT" />
128    <protected-broadcast
129        android:name="android.bluetooth.headsetclient.profile.action.CONNECTION_STATE_CHANGED" />
130    <protected-broadcast
131        android:name="android.bluetooth.headsetclient.profile.action.AUDIO_STATE_CHANGED" />
132    <protected-broadcast
133        android:name="android.bluetooth.headsetclient.profile.action.AG_EVENT" />
134    <protected-broadcast
135        android:name="android.bluetooth.headsetclient.profile.action.AG_CALL_CHANGED" />
136    <protected-broadcast
137        android:name="android.bluetooth.headsetclient.profile.action.RESULT" />
138    <protected-broadcast
139        android:name="android.bluetooth.headsetclient.profile.action.LAST_VTAG" />
140    <protected-broadcast
141        android:name="android.bluetooth.a2dp.profile.action.CONNECTION_STATE_CHANGED" />
142    <protected-broadcast
143        android:name="android.bluetooth.a2dp.profile.action.PLAYING_STATE_CHANGED" />
144    <protected-broadcast
145        android:name="android.bluetooth.a2dp-sink.profile.action.CONNECTION_STATE_CHANGED" />
146    <protected-broadcast
147        android:name="android.bluetooth.a2dp-sink.profile.action.PLAYING_STATE_CHANGED" />
148    <protected-broadcast
149        android:name="android.bluetooth.a2dp-sink.profile.action.AUDIO_CONFIG_CHANGED" />
150   <protected-broadcast
151        android:name="android.bluetooth.avrcp-controller.profile.action.CONNECTION_STATE_CHANGED" />
152    <protected-broadcast
153        android:name="android.bluetooth.input.profile.action.CONNECTION_STATE_CHANGED" />
154    <protected-broadcast
155        android:name="android.bluetooth.input.profile.action.PROTOCOL_MODE_CHANGED" />
156    <protected-broadcast
157        android:name="android.bluetooth.input.profile.action.VIRTUAL_UNPLUG_STATUS" />
158    <protected-broadcast
159        android:name="android.bluetooth.pan.profile.action.CONNECTION_STATE_CHANGED" />
160    <protected-broadcast android:name="android.bluetooth.pbap.intent.action.PBAP_STATE_CHANGED" />
161    <protected-broadcast android:name="android.btopp.intent.action.INCOMING_FILE_NOTIFICATION" />
162    <protected-broadcast android:name="android.btopp.intent.action.USER_CONFIRMATION_TIMEOUT" />
163    <protected-broadcast android:name="android.btopp.intent.action.LIST" />
164    <protected-broadcast android:name="android.btopp.intent.action.OPEN_OUTBOUND" />
165    <protected-broadcast android:name="android.btopp.intent.action.HIDE_COMPLETE" />
166    <protected-broadcast android:name="android.btopp.intent.action.CONFIRM" />
167    <protected-broadcast android:name="android.btopp.intent.action.HIDE" />
168    <protected-broadcast android:name="android.btopp.intent.action.RETRY" />
169    <protected-broadcast android:name="android.btopp.intent.action.OPEN" />
170    <protected-broadcast android:name="android.btopp.intent.action.OPEN_INBOUND" />
171    <protected-broadcast android:name="com.android.bluetooth.pbap.authchall" />
172    <protected-broadcast android:name="com.android.bluetooth.pbap.userconfirmtimeout" />
173    <protected-broadcast android:name="com.android.bluetooth.pbap.authresponse" />
174    <protected-broadcast android:name="com.android.bluetooth.pbap.authcancelled" />
175
176    <protected-broadcast android:name="android.hardware.display.action.WIFI_DISPLAY_STATUS_CHANGED" />
177
178    <protected-broadcast android:name="android.hardware.usb.action.USB_STATE" />
179    <protected-broadcast android:name="android.hardware.usb.action.USB_ACCESSORY_ATTACHED" />
180    <protected-broadcast android:name="android.hardware.usb.action.USB_ACCESSORY_ATTACHED" />
181    <protected-broadcast android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" />
182    <protected-broadcast android:name="android.hardware.usb.action.USB_DEVICE_DETACHED" />
183
184    <protected-broadcast android:name="android.intent.action.HEADSET_PLUG" />
185    <protected-broadcast android:name="android.media.action.ANALOG_AUDIO_DOCK_PLUG" />
186    <protected-broadcast android:name="android.media.action.DIGITAL_AUDIO_DOCK_PLUG" />
187    <protected-broadcast android:name="android.media.action.HDMI_AUDIO_PLUG" />
188    <protected-broadcast android:name="android.media.action.USB_AUDIO_ACCESSORY_PLUG" />
189    <protected-broadcast android:name="android.media.action.USB_AUDIO_DEVICE_PLUG" />
190
191    <protected-broadcast android:name="android.media.AUDIO_BECOMING_NOISY" />
192    <protected-broadcast android:name="android.media.RINGER_MODE_CHANGED" />
193    <protected-broadcast android:name="android.media.VIBRATE_SETTING_CHANGED" />
194    <protected-broadcast android:name="android.media.VOLUME_CHANGED_ACTION" />
195    <protected-broadcast android:name="android.media.MASTER_VOLUME_CHANGED_ACTION" />
196    <protected-broadcast android:name="android.media.MASTER_MUTE_CHANGED_ACTION" />
197    <protected-broadcast android:name="android.media.SCO_AUDIO_STATE_CHANGED" />
198    <protected-broadcast android:name="android.media.ACTION_SCO_AUDIO_STATE_UPDATED" />
199
200    <protected-broadcast android:name="android.intent.action.MEDIA_REMOVED" />
201    <protected-broadcast android:name="android.intent.action.MEDIA_UNMOUNTED" />
202    <protected-broadcast android:name="android.intent.action.MEDIA_CHECKING" />
203    <protected-broadcast android:name="android.intent.action.MEDIA_NOFS" />
204    <protected-broadcast android:name="android.intent.action.MEDIA_MOUNTED" />
205    <protected-broadcast android:name="android.intent.action.MEDIA_SHARED" />
206    <protected-broadcast android:name="android.intent.action.MEDIA_UNSHARED" />
207    <protected-broadcast android:name="android.intent.action.MEDIA_BAD_REMOVAL" />
208    <protected-broadcast android:name="android.intent.action.MEDIA_UNMOUNTABLE" />
209    <protected-broadcast android:name="android.intent.action.MEDIA_EJECT" />
210
211    <protected-broadcast android:name="android.net.conn.CONNECTIVITY_CHANGE" />
212    <protected-broadcast android:name="android.net.conn.CONNECTIVITY_CHANGE_IMMEDIATE" />
213    <protected-broadcast android:name="android.net.conn.DATA_ACTIVITY_CHANGE" />
214    <protected-broadcast android:name="android.net.conn.BACKGROUND_DATA_SETTING_CHANGED" />
215    <protected-broadcast android:name="android.net.conn.CAPTIVE_PORTAL_TEST_COMPLETED" />
216
217    <protected-broadcast android:name="android.net.nsd.STATE_CHANGED" />
218
219    <protected-broadcast android:name="android.nfc.action.LLCP_LINK_STATE_CHANGED" />
220    <protected-broadcast android:name="com.android.nfc_extras.action.RF_FIELD_ON_DETECTED" />
221    <protected-broadcast android:name="com.android.nfc_extras.action.RF_FIELD_OFF_DETECTED" />
222    <protected-broadcast android:name="com.android.nfc_extras.action.AID_SELECTED" />
223
224    <protected-broadcast android:name="android.nfc.action.TRANSACTION_DETECTED" />
225    <protected-broadcast android:name="android.intent.action.CLEAR_DNS_CACHE" />
226    <protected-broadcast android:name="android.intent.action.PROXY_CHANGE" />
227
228    <protected-broadcast android:name="android.os.UpdateLock.UPDATE_LOCK_CHANGED" />
229
230    <protected-broadcast android:name="android.intent.action.DREAMING_STARTED" />
231    <protected-broadcast android:name="android.intent.action.DREAMING_STOPPED" />
232    <protected-broadcast android:name="android.intent.action.ANY_DATA_STATE" />
233    <protected-broadcast android:name="android.intent.action.DATA_CONNECTION_CONNECTED_TO_PROVISIONING_APN" />
234
235    <protected-broadcast android:name="com.android.server.WifiManager.action.START_SCAN" />
236    <protected-broadcast android:name="com.android.server.WifiManager.action.DELAYED_DRIVER_STOP" />
237    <protected-broadcast android:name="android.net.wifi.WIFI_STATE_CHANGED" />
238    <protected-broadcast android:name="android.net.wifi.WIFI_AP_STATE_CHANGED" />
239    <protected-broadcast android:name="android.net.wifi.WIFI_CREDENTIAL_CHANGED" />
240    <protected-broadcast android:name="android.net.wifi.WIFI_SCAN_AVAILABLE" />
241    <protected-broadcast android:name="android.net.wifi.SCAN_RESULTS" />
242    <protected-broadcast android:name="android.net.wifi.RSSI_CHANGED" />
243    <protected-broadcast android:name="android.net.wifi.STATE_CHANGE" />
244    <protected-broadcast android:name="android.net.wifi.LINK_CONFIGURATION_CHANGED" />
245    <protected-broadcast android:name="android.net.wifi.CONFIGURED_NETWORKS_CHANGE" />
246    <protected-broadcast android:name="android.net.wifi.supplicant.CONNECTION_CHANGE" />
247    <protected-broadcast android:name="android.net.wifi.supplicant.STATE_CHANGE" />
248    <protected-broadcast android:name="android.net.wifi.p2p.STATE_CHANGED" />
249    <protected-broadcast android:name="android.net.wifi.p2p.DISCOVERY_STATE_CHANGE" />
250    <protected-broadcast android:name="android.net.wifi.p2p.THIS_DEVICE_CHANGED" />
251    <protected-broadcast android:name="android.net.wifi.p2p.PEERS_CHANGED" />
252    <protected-broadcast android:name="android.net.wifi.p2p.CONNECTION_STATE_CHANGE" />
253    <protected-broadcast android:name="android.net.wifi.p2p.PERSISTENT_GROUPS_CHANGED" />
254    <protected-broadcast android:name="android.net.conn.TETHER_STATE_CHANGED" />
255    <protected-broadcast android:name="android.net.conn.INET_CONDITION_ACTION" />
256    <protected-broadcast android:name="android.net.conn.NETWORK_CONDITIONS_MEASURED" />
257    <protected-broadcast
258            android:name="android.net.ConnectivityService.action.PKT_CNT_SAMPLE_INTERVAL_ELAPSED" />
259    <protected-broadcast android:name="android.net.scoring.SCORE_NETWORKS" />
260    <protected-broadcast android:name="android.net.scoring.SCORER_CHANGED" />
261    <protected-broadcast android:name="android.intent.action.EXTERNAL_APPLICATIONS_AVAILABLE" />
262    <protected-broadcast android:name="android.intent.action.EXTERNAL_APPLICATIONS_UNAVAILABLE" />
263    <protected-broadcast android:name="android.intent.action.AIRPLANE_MODE" />
264    <protected-broadcast android:name="android.intent.action.ADVANCED_SETTINGS" />
265    <protected-broadcast android:name="android.intent.action.APPLICATION_RESTRICTIONS_CHANGED" />
266    <protected-broadcast android:name="android.intent.action.BUGREPORT_FINISHED" />
267
268    <protected-broadcast android:name="android.intent.action.ACTION_IDLE_MAINTENANCE_START" />
269    <protected-broadcast android:name="android.intent.action.ACTION_IDLE_MAINTENANCE_END" />
270
271    <protected-broadcast android:name="android.intent.action.HDMI_PLUGGED" />
272
273    <protected-broadcast android:name="android.intent.action.PHONE_STATE" />
274
275    <protected-broadcast android:name="android.intent.action.SUB_DEFAULT_CHANGED" />
276
277    <protected-broadcast android:name="android.location.GPS_ENABLED_CHANGE" />
278    <protected-broadcast android:name="android.location.PROVIDERS_CHANGED" />
279    <protected-broadcast android:name="android.location.MODE_CHANGED" />
280    <protected-broadcast android:name="android.location.GPS_FIX_CHANGE" />
281    <protected-broadcast android:name="android.net.proxy.PAC_REFRESH" />
282
283    <protected-broadcast
284        android:name="com.android.server.connectivityservice.CONNECTED_TO_PROVISIONING_NETWORK_ACTION" />
285
286    <!-- Defined in RestrictionsManager -->
287    <protected-broadcast
288        android:name="android.intent.action.PERMISSION_RESPONSE_RECEIVED" />
289    <!-- Defined in RestrictionsManager -->
290
291    <protected-broadcast android:name="android.intent.action.REQUEST_PERMISSION" />
292    <protected-broadcast android:name="android.nfc.handover.intent.action.HANDOVER_STARTED" />
293    <protected-broadcast android:name="android.nfc.handover.intent.action.TRANSFER_DONE" />
294    <protected-broadcast android:name="android.nfc.handover.intent.action.TRANSFER_PROGRESS" />
295    <protected-broadcast android:name="android.nfc.handover.intent.action.TRANSFER_DONE" />
296
297    <protected-broadcast android:name="android.intent.action.ACTION_DEFAULT_SUBSCRIPTION_CHANGED" />
298    <protected-broadcast android:name="android.intent.action.ACTION_DEFAULT_SMS_SUBSCRIPTION_CHANGED" />
299    <protected-broadcast android:name="android.intent.action.ACTION_DEFAULT_DATA_SUBSCRIPTION_CHANGED" />
300    <protected-broadcast android:name="android.intent.action.ACTION_DEFAULT_VOICE_SUBSCRIPTION_CHANGED" />
301    <protected-broadcast android:name="android.intent.action.ACTION_SUBINFO_CONTENT_CHANGE" />
302    <protected-broadcast android:name="android.intent.action.ACTION_SUBINFO_RECORD_UPDATED" />
303
304    <protected-broadcast android:name="android.intent.action.ACTION_SET_RADIO_CAPABILITY_DONE" />
305    <protected-broadcast android:name="android.intent.action.ACTION_SET_RADIO_CAPABILITY_FAILED" />
306
307    <!-- ====================================== -->
308    <!-- Permissions for things that cost money -->
309    <!-- ====================================== -->
310    <eat-comment />
311
312    <!-- Used for permissions that can be used to make the user spend money
313         without their direct involvement. -->
314    <permission-group android:name="android.permission-group.COST_MONEY"
315        android:label="@string/permgrouplab_costMoney"
316        android:description="@string/permgroupdesc_costMoney" />
317
318    <!-- ================================== -->
319    <!-- Permissions for accessing messages -->
320    <!-- ================================== -->
321    <eat-comment />
322
323    <!-- Used for permissions that allow an application to send messages
324         on behalf of the user or intercept messages being received by the
325         user.  This is primarily intended for SMS/MMS messaging, such as
326         receiving or reading an MMS. -->
327    <permission-group android:name="android.permission-group.MESSAGES"
328        android:label="@string/permgrouplab_messages"
329        android:icon="@drawable/perm_group_messages"
330        android:description="@string/permgroupdesc_messages"
331        android:permissionGroupFlags="personalInfo"
332        android:priority="360"/>
333
334    <!-- Allows an application to send SMS messages. -->
335    <permission android:name="android.permission.SEND_SMS"
336        android:permissionGroup="android.permission-group.MESSAGES"
337        android:protectionLevel="dangerous"
338        android:permissionFlags="costsMoney"
339        android:label="@string/permlab_sendSms"
340        android:description="@string/permdesc_sendSms" />
341
342    <!-- @SystemApi Allows an application (Phone) to send a request to other applications
343         to handle the respond-via-message action during incoming calls.
344         <p>Not for use by third-party applications. -->
345    <permission android:name="android.permission.SEND_RESPOND_VIA_MESSAGE"
346        android:permissionGroup="android.permission-group.MESSAGES"
347        android:protectionLevel="signature|system"
348        android:label="@string/permlab_sendRespondViaMessageRequest"
349        android:description="@string/permdesc_sendRespondViaMessageRequest" />
350
351    <!-- Allows an application to monitor incoming SMS messages, to record
352         or perform processing on them. -->
353    <permission android:name="android.permission.RECEIVE_SMS"
354        android:permissionGroup="android.permission-group.MESSAGES"
355        android:protectionLevel="dangerous"
356        android:label="@string/permlab_receiveSms"
357        android:description="@string/permdesc_receiveSms" />
358
359    <!-- Allows an application to monitor incoming MMS messages, to record
360         or perform processing on them. -->
361    <permission android:name="android.permission.RECEIVE_MMS"
362        android:permissionGroup="android.permission-group.MESSAGES"
363        android:protectionLevel="dangerous"
364        android:label="@string/permlab_receiveMms"
365        android:description="@string/permdesc_receiveMms" />
366
367    <!-- @SystemApi Allows an application to receive emergency cell broadcast messages,
368         to record or display them to the user.
369         <p>Not for use by third-party applications.
370         @hide Pending API council approval -->
371    <permission android:name="android.permission.RECEIVE_EMERGENCY_BROADCAST"
372        android:permissionGroup="android.permission-group.MESSAGES"
373        android:protectionLevel="signature|system"
374        android:label="@string/permlab_receiveEmergencyBroadcast"
375        android:description="@string/permdesc_receiveEmergencyBroadcast" />
376
377    <!-- Allows an application to read previously received cell broadcast
378         messages and to register a content observer to get notifications when
379         a cell broadcast has been received and added to the database. For
380         emergency alerts, the database is updated immediately after the
381         alert dialog and notification sound/vibration/speech are presented.
382         The "read" column is then updated after the user dismisses the alert.
383         This enables supplementary emergency assistance apps to start loading
384         additional emergency information (if Internet access is available)
385         when the alert is first received, and to delay presenting the info
386         to the user until after the initial alert dialog is dismissed.
387         @hide Pending API council approval -->
388    <permission android:name="android.permission.READ_CELL_BROADCASTS"
389        android:permissionGroup="android.permission-group.MESSAGES"
390        android:protectionLevel="dangerous"
391        android:label="@string/permlab_readCellBroadcasts"
392        android:description="@string/permdesc_readCellBroadcasts" />
393
394    <!-- Allows an application to read SMS messages. -->
395    <permission android:name="android.permission.READ_SMS"
396        android:permissionGroup="android.permission-group.MESSAGES"
397        android:protectionLevel="dangerous"
398        android:label="@string/permlab_readSms"
399        android:description="@string/permdesc_readSms" />
400
401    <!-- Allows an application to write SMS messages. -->
402    <permission android:name="android.permission.WRITE_SMS"
403        android:permissionGroup="android.permission-group.MESSAGES"
404        android:protectionLevel="dangerous"
405        android:label="@string/permlab_writeSms"
406        android:description="@string/permdesc_writeSms" />
407
408    <!-- Allows an application to monitor incoming WAP push messages. -->
409    <permission android:name="android.permission.RECEIVE_WAP_PUSH"
410        android:permissionGroup="android.permission-group.MESSAGES"
411        android:protectionLevel="dangerous"
412        android:label="@string/permlab_receiveWapPush"
413        android:description="@string/permdesc_receiveWapPush" />
414
415    <!-- Allows an application to monitor incoming Bluetooth MAP messages, to record
416         or perform processing on them. -->
417    <!-- @hide -->
418    <permission android:name="android.permission.RECEIVE_BLUETOOTH_MAP"
419        android:permissionGroup="android.permission-group.MESSAGES"
420        android:protectionLevel="signature|system"
421        android:label="@string/permlab_receiveBluetoothMap"
422        android:description="@string/permdesc_receiveBluetoothMap" />
423
424    <!-- =============================================================== -->
425    <!-- Permissions for accessing social info (contacts and social) -->
426    <!-- =============================================================== -->
427    <eat-comment />
428
429    <!-- Used for permissions that provide access to the user's social connections,
430         such as contacts, call logs, social stream, etc.  This includes
431         both reading and writing of this data (which should generally be
432         expressed as two distinct permissions). -->
433
434    <permission-group android:name="android.permission-group.SOCIAL_INFO"
435        android:label="@string/permgrouplab_socialInfo"
436        android:icon="@drawable/perm_group_social_info"
437        android:description="@string/permgroupdesc_socialInfo"
438        android:permissionGroupFlags="personalInfo"
439        android:priority="320" />
440
441    <!-- Allows an application to read the user's contacts data. -->
442    <permission android:name="android.permission.READ_CONTACTS"
443        android:permissionGroup="android.permission-group.SOCIAL_INFO"
444        android:protectionLevel="dangerous"
445        android:label="@string/permlab_readContacts"
446        android:description="@string/permdesc_readContacts" />
447
448    <!-- Allows an application to write (but not read) the user's
449         contacts data. -->
450    <permission android:name="android.permission.WRITE_CONTACTS"
451        android:permissionGroup="android.permission-group.SOCIAL_INFO"
452        android:protectionLevel="dangerous"
453        android:label="@string/permlab_writeContacts"
454        android:description="@string/permdesc_writeContacts" />
455
456    <!-- @SystemApi @hide Allows an application to execute contacts directory search.
457         This should only be used by ContactsProvider.
458         <p>Not for use by third-party applications. -->
459    <permission android:name="android.permission.BIND_DIRECTORY_SEARCH"
460        android:permissionGroup="android.permission-group.PERSONAL_INFO"
461        android:protectionLevel="signature|system" />
462
463    <!-- Allows an application to read the user's call log.
464         <p class="note"><strong>Note:</strong> If your app uses the
465         {@link #READ_CONTACTS} permission and <em>both</em> your <a
466         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#min">{@code
467         minSdkVersion}</a> and <a
468         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
469         targetSdkVersion}</a> values are set to 15 or lower, the system implicitly
470         grants your app this permission. If you don't need this permission, be sure your <a
471         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
472         targetSdkVersion}</a> is 16 or higher.</p> -->
473    <permission android:name="android.permission.READ_CALL_LOG"
474        android:permissionGroup="android.permission-group.SOCIAL_INFO"
475        android:protectionLevel="dangerous"
476        android:label="@string/permlab_readCallLog"
477        android:description="@string/permdesc_readCallLog" />
478
479    <!-- Allows an application to write (but not read) the user's
480         contacts data.
481         <p class="note"><strong>Note:</strong> If your app uses the
482         {@link #WRITE_CONTACTS} permission and <em>both</em> your <a
483         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#min">{@code
484         minSdkVersion}</a> and <a
485         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
486         targetSdkVersion}</a> values are set to 15 or lower, the system implicitly
487         grants your app this permission. If you don't need this permission, be sure your <a
488         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
489         targetSdkVersion}</a> is 16 or higher.</p>  -->
490    <permission android:name="android.permission.WRITE_CALL_LOG"
491        android:permissionGroup="android.permission-group.SOCIAL_INFO"
492        android:protectionLevel="dangerous"
493        android:label="@string/permlab_writeCallLog"
494        android:description="@string/permdesc_writeCallLog" />
495
496  <!-- Allows an application to read from the user's social stream.
497       @deprecated This functionality will be unsupported in the future; cursors returned
498       will be empty. Please do not use. -->
499    <permission android:name="android.permission.READ_SOCIAL_STREAM"
500        android:permissionGroup="android.permission-group.SOCIAL_INFO"
501        android:protectionLevel="dangerous"
502        android:label="@string/permlab_readSocialStream"
503        android:description="@string/permdesc_readSocialStream" />
504
505    <!-- Allows an application to write (but not read) the user's
506         social stream data.
507         @deprecated This functionality will be unsupported in the future; cursors returned
508         will be empty. Please do not use. -->
509    <permission android:name="android.permission.WRITE_SOCIAL_STREAM"
510        android:permissionGroup="android.permission-group.SOCIAL_INFO"
511        android:protectionLevel="dangerous"
512        android:label="@string/permlab_writeSocialStream"
513        android:description="@string/permdesc_writeSocialStream" />
514
515    <!-- =============================================================== -->
516    <!-- Permissions for accessing information about the device owner    -->
517    <!-- =============================================================== -->
518    <eat-comment />
519
520    <!-- Used for permissions that provide access to information about the device
521         user such as profile information.  This includes both reading and
522         writing of this data (which should generally be expressed as two
523         distinct permissions). -->
524    <permission-group android:name="android.permission-group.PERSONAL_INFO"
525        android:label="@string/permgrouplab_personalInfo"
526        android:icon="@drawable/perm_group_personal_info"
527        android:description="@string/permgroupdesc_personalInfo"
528        android:permissionGroupFlags="personalInfo"
529        android:priority="310" />
530
531    <!-- Allows an application to read the user's personal profile data. -->
532    <permission android:name="android.permission.READ_PROFILE"
533        android:permissionGroup="android.permission-group.PERSONAL_INFO"
534        android:protectionLevel="dangerous"
535        android:label="@string/permlab_readProfile"
536        android:description="@string/permdesc_readProfile" />
537
538    <!-- Allows an application to write (but not read) the user's
539         personal profile data. -->
540    <permission android:name="android.permission.WRITE_PROFILE"
541        android:permissionGroup="android.permission-group.PERSONAL_INFO"
542        android:protectionLevel="dangerous"
543        android:label="@string/permlab_writeProfile"
544        android:description="@string/permdesc_writeProfile" />
545
546    <!-- Allows an application to access data from sensors that the user uses to
547         measure what is happening inside his/her body, such as heart rate. -->
548    <permission android:name="android.permission.BODY_SENSORS"
549        android:permissionGroup="android.permission-group.PERSONAL_INFO"
550        android:label="@string/permlab_bodySensors"
551        android:description="@string/permdesc_bodySensors" />
552
553    <!-- =============================================================== -->
554    <!-- Permissions for accessing the device calendar                   -->
555    <!-- =============================================================== -->
556    <eat-comment />
557
558    <!-- Used for permissions that provide access to the device
559         calendar to create / view events.-->
560    <permission-group android:name="android.permission-group.CALENDAR"
561        android:label="@string/permgrouplab_calendar"
562        android:icon="@drawable/perm_group_calendar"
563        android:description="@string/permgroupdesc_calendar"
564        android:permissionGroupFlags="personalInfo"
565        android:priority="290" />
566
567    <!-- Allows an application to read the user's calendar data. -->
568    <permission android:name="android.permission.READ_CALENDAR"
569        android:permissionGroup="android.permission-group.PERSONAL_INFO"
570        android:protectionLevel="dangerous"
571        android:label="@string/permlab_readCalendar"
572        android:description="@string/permdesc_readCalendar" />
573
574    <!-- Allows an application to write (but not read) the user's
575         calendar data. -->
576    <permission android:name="android.permission.WRITE_CALENDAR"
577        android:permissionGroup="android.permission-group.PERSONAL_INFO"
578        android:protectionLevel="dangerous"
579        android:label="@string/permlab_writeCalendar"
580        android:description="@string/permdesc_writeCalendar" />
581
582    <!-- =============================================================== -->
583    <!-- Permissions for accessing the user dictionary-->
584    <!-- =============================================================== -->
585    <eat-comment />
586
587    <!-- Used for permissions that provide access to the user
588         calendar to create / view events.-->
589    <permission-group android:name="android.permission-group.USER_DICTIONARY"
590        android:label="@string/permgrouplab_dictionary"
591        android:icon="@drawable/perm_group_user_dictionary"
592        android:description="@string/permgroupdesc_dictionary"
593        android:permissionGroupFlags="personalInfo"
594        android:priority="170" />
595
596    <!-- Allows an application to read the user dictionary. This should
597         really only be required by an IME, or a dictionary editor like
598         the Settings app. -->
599    <permission android:name="android.permission.READ_USER_DICTIONARY"
600        android:permissionGroup="android.permission-group.USER_DICTIONARY"
601        android:protectionLevel="dangerous"
602        android:label="@string/permlab_readDictionary"
603        android:description="@string/permdesc_readDictionary" />
604
605    <!-- Used for permissions that provide access to the user
606         calendar to create / view events.-->
607    <permission-group android:name="android.permission-group.WRITE_USER_DICTIONARY"
608        android:label="@string/permgrouplab_writeDictionary"
609        android:icon="@drawable/perm_group_user_dictionary_write"
610        android:description="@string/permgroupdesc_writeDictionary"
611        android:priority="160" />
612
613    <!-- Allows an application to write to the user dictionary. -->
614    <permission android:name="android.permission.WRITE_USER_DICTIONARY"
615        android:permissionGroup="android.permission-group.WRITE_USER_DICTIONARY"
616        android:protectionLevel="normal"
617        android:label="@string/permlab_writeDictionary"
618        android:description="@string/permdesc_writeDictionary" />
619
620    <!-- =============================================================== -->
621    <!-- Permissions for accessing the user bookmarks                    -->
622    <!-- =============================================================== -->
623    <eat-comment />
624
625    <!-- Used for permissions that provide access to the user
626         bookmarks and browser history.-->
627    <permission-group android:name="android.permission-group.BOOKMARKS"
628        android:label="@string/permgrouplab_bookmarks"
629        android:icon="@drawable/perm_group_bookmarks"
630        android:description="@string/permgroupdesc_bookmarks"
631        android:permissionGroupFlags="personalInfo"
632        android:priority="300" />
633
634    <!-- Allows an application to read (but not write) the user's
635        browsing history and bookmarks. -->
636    <permission android:name="com.android.browser.permission.READ_HISTORY_BOOKMARKS"
637        android:permissionGroup="android.permission-group.BOOKMARKS"
638        android:label="@string/permlab_readHistoryBookmarks"
639        android:description="@string/permdesc_readHistoryBookmarks"
640        android:protectionLevel="dangerous" />
641
642    <!-- Allows an application to write (but not read) the user's
643        browsing history and bookmarks. -->
644    <permission android:name="com.android.browser.permission.WRITE_HISTORY_BOOKMARKS"
645        android:permissionGroup="android.permission-group.BOOKMARKS"
646        android:label="@string/permlab_writeHistoryBookmarks"
647        android:description="@string/permdesc_writeHistoryBookmarks"
648        android:protectionLevel="dangerous" />
649
650    <!-- =============================================================== -->
651    <!-- Permissions for setting the device alarm                        -->
652    <!-- =============================================================== -->
653    <eat-comment />
654
655    <!-- Used for permissions that provide access to device alarms. -->
656    <permission-group android:name="android.permission-group.DEVICE_ALARMS"
657        android:label="@string/permgrouplab_deviceAlarms"
658        android:icon="@drawable/perm_group_device_alarms"
659        android:description="@string/permgroupdesc_deviceAlarms"
660        android:permissionGroupFlags="personalInfo"
661        android:priority="210" />
662
663    <!-- Allows an application to broadcast an Intent to set an alarm for the
664         user. -->
665    <permission android:name="com.android.alarm.permission.SET_ALARM"
666        android:permissionGroup="android.permission-group.DEVICE_ALARMS"
667        android:label="@string/permlab_setAlarm"
668        android:description="@string/permdesc_setAlarm"
669        android:protectionLevel="normal" />
670
671    <!-- =============================================================== -->
672    <!-- Permissions for accessing the user voicemail                    -->
673    <!-- =============================================================== -->
674    <eat-comment />
675
676    <!-- Used for permissions that provide access to the user voicemail box. -->
677    <permission-group android:name="android.permission-group.VOICEMAIL"
678        android:label="@string/permgrouplab_voicemail"
679        android:icon="@drawable/perm_group_voicemail"
680        android:description="@string/permgroupdesc_voicemail"
681        android:permissionGroupFlags="personalInfo"
682        android:priority="280" />
683
684    <!-- Allows an application to add voicemails into the system. -->
685    <permission android:name="com.android.voicemail.permission.ADD_VOICEMAIL"
686        android:permissionGroup="android.permission-group.VOICEMAIL"
687        android:protectionLevel="dangerous"
688        android:label="@string/permlab_addVoicemail"
689        android:description="@string/permdesc_addVoicemail" />
690
691    <!-- Allows an application to modify and remove existing voicemails in the system -->
692    <permission android:name="com.android.voicemail.permission.WRITE_VOICEMAIL"
693        android:permissionGroup="android.permission-group.VOICEMAIL"
694        android:protectionLevel="system|signature"
695        android:label="@string/permlab_writeVoicemail"
696        android:description="@string/permdesc_writeVoicemail" />
697
698    <!-- Allows an application to read voicemails in the system. -->
699    <permission android:name="com.android.voicemail.permission.READ_VOICEMAIL"
700        android:permissionGroup="android.permission-group.VOICEMAIL"
701        android:protectionLevel="system|signature"
702        android:label="@string/permlab_readVoicemail"
703        android:description="@string/permdesc_readVoicemail" />
704
705    <!-- =============================================== -->
706    <!-- Permissions for enabling accessibility features -->
707    <!-- =============================================== -->
708    <eat-comment />
709
710    <!-- Used for permissions that allow requesting certain accessibility features. -->
711    <permission-group android:name="android.permission-group.ACCESSIBILITY_FEATURES"
712        android:label="@string/permgrouplab_accessibilityFeatures"
713        android:icon="@drawable/perm_group_accessibility_features"
714        android:description="@string/permgroupdesc_accessibilityFeatures"
715        android:priority="380" />
716
717    <!-- ======================================= -->
718    <!-- Permissions for accessing location info -->
719    <!-- ======================================= -->
720    <eat-comment />
721
722    <!-- Used for permissions that allow access to the user's current
723         location. -->
724    <permission-group android:name="android.permission-group.LOCATION"
725        android:label="@string/permgrouplab_location"
726        android:icon="@drawable/perm_group_location"
727        android:description="@string/permgroupdesc_location"
728        android:permissionGroupFlags="personalInfo"
729        android:priority="330" />
730
731    <!-- Allows an app to access precise location from location sources such
732         as GPS, cell towers, and Wi-Fi. -->
733    <permission android:name="android.permission.ACCESS_FINE_LOCATION"
734        android:permissionGroup="android.permission-group.LOCATION"
735        android:protectionLevel="dangerous"
736        android:label="@string/permlab_accessFineLocation"
737        android:description="@string/permdesc_accessFineLocation" />
738
739    <!-- Allows an app to access approximate location derived from network location
740         sources such as cell towers and Wi-Fi. -->
741    <permission android:name="android.permission.ACCESS_COARSE_LOCATION"
742        android:permissionGroup="android.permission-group.LOCATION"
743        android:protectionLevel="dangerous"
744        android:label="@string/permlab_accessCoarseLocation"
745        android:description="@string/permdesc_accessCoarseLocation" />
746
747    <!-- Allows an application to create mock location providers for testing -->
748    <permission android:name="android.permission.ACCESS_MOCK_LOCATION"
749        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
750        android:protectionLevel="dangerous"
751        android:label="@string/permlab_accessMockLocation"
752        android:description="@string/permdesc_accessMockLocation" />
753
754    <!-- Allows an application to access extra location provider commands -->
755    <permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"
756        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
757        android:protectionLevel="normal"
758        android:label="@string/permlab_accessLocationExtraCommands"
759        android:description="@string/permdesc_accessLocationExtraCommands" />
760
761    <!-- @SystemApi Allows an application to install a location provider into the Location Manager.
762    <p>Not for use by third-party applications. -->
763    <permission android:name="android.permission.INSTALL_LOCATION_PROVIDER"
764        android:protectionLevel="signature|system"
765        android:label="@string/permlab_installLocationProvider"
766        android:description="@string/permdesc_installLocationProvider" />
767
768    <!-- @SystemApi @hide Allows HDMI-CEC service to access device and configuration files.
769         This should only be used by HDMI-CEC service.
770    -->
771    <permission android:name="android.permission.HDMI_CEC"
772        android:protectionLevel="signatureOrSystem" />
773
774    <!-- @SystemApi Allows an application to use location features in hardware,
775         such as the geofencing api.
776         <p>Not for use by third-party applications. -->
777    <permission android:name="android.permission.LOCATION_HARDWARE"
778        android:permissionGroup="android.permission-group.LOCATION"
779        android:protectionLevel="signature|system" />
780    <uses-permission android:name="android.permission.LOCATION_HARDWARE"/>
781
782    <!-- ======================================= -->
783    <!-- Permissions for accessing networks -->
784    <!-- ======================================= -->
785    <eat-comment />
786
787    <!-- Used for permissions that provide access to networking services.  The
788         main permission here is internet access, but this is also an
789         appropriate group for accessing or modifying any network configuration
790         or other related network operations. -->
791    <permission-group android:name="android.permission-group.NETWORK"
792        android:label="@string/permgrouplab_network"
793        android:icon="@drawable/perm_group_network"
794        android:description="@string/permgroupdesc_network"
795        android:priority="270" />
796
797    <!-- Allows applications to open network sockets. -->
798    <permission android:name="android.permission.INTERNET"
799        android:permissionGroup="android.permission-group.NETWORK"
800        android:protectionLevel="dangerous"
801        android:description="@string/permdesc_createNetworkSockets"
802        android:label="@string/permlab_createNetworkSockets" />
803
804    <!-- Allows applications to access information about networks -->
805    <permission android:name="android.permission.ACCESS_NETWORK_STATE"
806        android:permissionGroup="android.permission-group.NETWORK"
807        android:protectionLevel="normal"
808        android:description="@string/permdesc_accessNetworkState"
809        android:label="@string/permlab_accessNetworkState" />
810
811    <!-- Allows applications to access information about Wi-Fi networks -->
812    <permission android:name="android.permission.ACCESS_WIFI_STATE"
813        android:permissionGroup="android.permission-group.NETWORK"
814        android:protectionLevel="normal"
815        android:description="@string/permdesc_accessWifiState"
816        android:label="@string/permlab_accessWifiState" />
817
818    <!-- Allows applications to change Wi-Fi connectivity state -->
819    <permission android:name="android.permission.CHANGE_WIFI_STATE"
820        android:permissionGroup="android.permission-group.NETWORK"
821        android:protectionLevel="dangerous"
822        android:description="@string/permdesc_changeWifiState"
823        android:label="@string/permlab_changeWifiState" />
824
825    <!-- @SystemApi @hide Allows applications to read Wi-Fi credential.
826         <p>Not for use by third-party applications. -->
827    <permission android:name="android.permission.READ_WIFI_CREDENTIAL"
828        android:permissionGroup="android.permission-group.NETWORK"
829        android:protectionLevel="signature|system" />
830
831    <!-- @SystemApi @hide Allow system apps to receive broadcast
832         when a wifi network credential is changed.
833         <p>Not for use by third-party applications. -->
834    <permission android:name="android.permission.RECEIVE_WIFI_CREDENTIAL_CHANGE"
835        android:permissionGroup="android.permission-group.NETWORK"
836        android:protectionLevel="signature|system" />
837
838    <!-- @SystemApi @hide Allows an application to modify any wifi configuration, even if created
839	 by another application. Once reconfigured the original creator canot make any further
840	 modifications.
841	 <p>Not for use by third-party applications. -->
842    <permission android:name="android.permission.OVERRIDE_WIFI_CONFIG"
843	android:permissionGroup="android.permission-group.NETWORK"
844	android:protectionLevel="signature|system" />
845
846    <!-- @hide -->
847    <permission android:name="android.permission.ACCESS_WIMAX_STATE"
848        android:permissionGroup="android.permission-group.NETWORK"
849        android:protectionLevel="normal"
850        android:description="@string/permdesc_accessWimaxState"
851        android:label="@string/permlab_accessWimaxState" />
852
853    <!-- @hide -->
854    <permission android:name="android.permission.CHANGE_WIMAX_STATE"
855        android:permissionGroup="android.permission-group.NETWORK"
856        android:protectionLevel="dangerous"
857        android:description="@string/permdesc_changeWimaxState"
858        android:label="@string/permlab_changeWimaxState" />
859
860    <!-- Allows applications to act as network scorers. @hide @SystemApi-->
861    <!-- TODO: Change protection level to normal when unhiding this API. -->
862    <permission android:name="android.permission.SCORE_NETWORKS"
863        android:permissionGroup="android.permission-group.NETWORK"
864        android:protectionLevel="signature|system"
865        android:description="@string/permdesc_scoreNetworks"
866        android:label="@string/permlab_scoreNetworks" />
867
868    <!-- ======================================= -->
869    <!-- Permissions for short range, peripheral networks -->
870    <!-- ======================================= -->
871    <eat-comment />
872
873    <!-- Used for permissions that provide access to other devices through Bluetooth.-->
874    <permission-group android:name="android.permission-group.BLUETOOTH_NETWORK"
875        android:label="@string/permgrouplab_bluetoothNetwork"
876        android:icon="@drawable/perm_group_bluetooth"
877        android:description="@string/permgroupdesc_bluetoothNetwork"
878        android:priority="260" />
879
880    <!-- Allows applications to connect to paired bluetooth devices -->
881    <permission android:name="android.permission.BLUETOOTH"
882        android:permissionGroup="android.permission-group.BLUETOOTH_NETWORK"
883        android:protectionLevel="dangerous"
884        android:description="@string/permdesc_bluetooth"
885        android:label="@string/permlab_bluetooth" />
886
887    <!-- Allows applications to discover and pair bluetooth devices -->
888    <permission android:name="android.permission.BLUETOOTH_ADMIN"
889        android:permissionGroup="android.permission-group.BLUETOOTH_NETWORK"
890        android:protectionLevel="dangerous"
891        android:description="@string/permdesc_bluetoothAdmin"
892        android:label="@string/permlab_bluetoothAdmin" />
893
894    <!-- @SystemApi Allows applications to pair bluetooth devices without user interaction, and to
895         allow or disallow phonebook access or message access.
896         This is not available to third party applications. -->
897    <permission android:name="android.permission.BLUETOOTH_PRIVILEGED"
898        android:permissionGroup="android.permission-group.BLUETOOTH_NETWORK"
899        android:protectionLevel="system|signature"
900        android:description="@string/permdesc_bluetoothPriv"
901        android:label="@string/permlab_bluetoothPriv" />
902
903    <!-- Control access to email providers exclusively for Bluetooth
904         @hide
905    -->
906    <permission android:name="android.permission.BLUETOOTH_MAP"
907        android:permissionGroup="android.permission-group.BLUETOOTH_NETWORK"
908        android:protectionLevel="signature"
909        android:description="@string/permdesc_bluetoothMap"
910        android:label="@string/permlab_bluetoothMap" />
911
912    <!-- Allows bluetooth stack to access files
913         @hide This should only be used by Bluetooth apk.
914    -->
915    <permission android:name="android.permission.BLUETOOTH_STACK"
916        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
917        android:protectionLevel="signature" />
918
919    <!-- Allows applications to perform I/O operations over NFC -->
920    <permission android:name="android.permission.NFC"
921        android:permissionGroup="android.permission-group.NETWORK"
922        android:protectionLevel="dangerous"
923        android:description="@string/permdesc_nfc"
924        android:label="@string/permlab_nfc" />
925
926    <!-- @SystemApi Allows an internal user to use privileged ConnectivityManager APIs.
927         @hide -->
928    <permission android:name="android.permission.CONNECTIVITY_INTERNAL"
929        android:permissionGroup="android.permission-group.NETWORK"
930        android:protectionLevel="signature|system" />
931
932    <!-- @SystemApi @hide -->
933    <permission android:name="android.permission.RECEIVE_DATA_ACTIVITY_CHANGE"
934        android:permissionGroup="android.permission-group.NETWORK"
935        android:protectionLevel="signature|system" />
936
937    <!-- @SystemApi Allows access to the loop radio (Android@Home mesh network) device.
938         @hide -->
939    <permission android:name="android.permission.LOOP_RADIO"
940        android:permissionGroup="android.permission-group.NETWORK"
941        android:protectionLevel="signature|system" />
942
943    <!-- Allows sending and receiving handover transfer status from Wifi and Bluetooth
944         @hide
945    -->
946    <permission android:name="android.permission.NFC_HANDOVER_STATUS"
947                android:label="@string/permlab_handoverStatus"
948                android:description="@string/permdesc_handoverStatus"
949                android:protectionLevel="signature|system" />
950
951    <!-- ================================== -->
952    <!-- Permissions for accessing accounts -->
953    <!-- ================================== -->
954    <eat-comment />
955
956    <!-- Permissions for direct access to the accounts managed
957         by the Account Manager. -->
958    <permission-group android:name="android.permission-group.ACCOUNTS"
959        android:label="@string/permgrouplab_accounts"
960        android:icon="@drawable/perm_group_accounts"
961        android:description="@string/permgroupdesc_accounts"
962        android:permissionGroupFlags="personalInfo"
963        android:priority="200" />
964
965    <!-- Allows access to the list of accounts in the Accounts Service -->
966    <permission android:name="android.permission.GET_ACCOUNTS"
967        android:permissionGroup="android.permission-group.ACCOUNTS"
968        android:protectionLevel="normal"
969        android:description="@string/permdesc_getAccounts"
970        android:label="@string/permlab_getAccounts" />
971
972    <!-- Allows an application to act as an AccountAuthenticator for
973         the AccountManager -->
974    <permission android:name="android.permission.AUTHENTICATE_ACCOUNTS"
975        android:permissionGroup="android.permission-group.ACCOUNTS"
976        android:protectionLevel="dangerous"
977        android:label="@string/permlab_authenticateAccounts"
978        android:description="@string/permdesc_authenticateAccounts" />
979
980    <!-- Allows an application to request authtokens from the AccountManager -->
981    <permission android:name="android.permission.USE_CREDENTIALS"
982        android:permissionGroup="android.permission-group.ACCOUNTS"
983        android:protectionLevel="dangerous"
984        android:label="@string/permlab_useCredentials"
985        android:description="@string/permdesc_useCredentials" />
986
987    <!-- Allows an application to manage the list of accounts in the AccountManager -->
988    <permission android:name="android.permission.MANAGE_ACCOUNTS"
989        android:permissionGroup="android.permission-group.ACCOUNTS"
990        android:protectionLevel="dangerous"
991        android:label="@string/permlab_manageAccounts"
992        android:description="@string/permdesc_manageAccounts" />
993
994    <!-- @SystemApi Allows applications to call into AccountAuthenticators.
995    <p>Not for use by third-party applications. -->
996    <permission android:name="android.permission.ACCOUNT_MANAGER"
997        android:permissionGroup="android.permission-group.ACCOUNTS"
998        android:protectionLevel="signature"
999        android:description="@string/permdesc_accountManagerService"
1000        android:label="@string/permlab_accountManagerService" />
1001
1002    <!-- ================================== -->
1003    <!-- Permissions for accessing hardware that may effect battery life-->
1004    <!-- ================================== -->
1005    <eat-comment />
1006
1007    <!-- Used for permissions that provide direct access to the hardware on
1008         the device that has an effect on battery life.  This includes vibrator,
1009         flashlight,  etc. -->
1010
1011    <permission-group android:name="android.permission-group.AFFECTS_BATTERY"
1012        android:label="@string/permgrouplab_affectsBattery"
1013        android:icon="@drawable/perm_group_affects_battery"
1014        android:description="@string/permgroupdesc_affectsBattery"
1015        android:priority="180" />
1016
1017    <!-- Allows applications to enter Wi-Fi Multicast mode -->
1018    <permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE"
1019        android:permissionGroup="android.permission-group.AFFECTS_BATTERY"
1020        android:protectionLevel="dangerous"
1021        android:description="@string/permdesc_changeWifiMulticastState"
1022        android:label="@string/permlab_changeWifiMulticastState" />
1023
1024    <!-- Allows access to the vibrator -->
1025    <permission android:name="android.permission.VIBRATE"
1026        android:permissionGroup="android.permission-group.AFFECTS_BATTERY"
1027        android:protectionLevel="normal"
1028        android:label="@string/permlab_vibrate"
1029        android:description="@string/permdesc_vibrate" />
1030
1031    <!-- Allows access to the flashlight -->
1032    <permission android:name="android.permission.FLASHLIGHT"
1033        android:permissionGroup="android.permission-group.AFFECTS_BATTERY"
1034        android:protectionLevel="normal"
1035        android:label="@string/permlab_flashlight"
1036        android:description="@string/permdesc_flashlight" />
1037
1038    <!-- Allows using PowerManager WakeLocks to keep processor from sleeping or screen
1039         from dimming -->
1040    <permission android:name="android.permission.WAKE_LOCK"
1041        android:permissionGroup="android.permission-group.AFFECTS_BATTERY"
1042        android:protectionLevel="normal"
1043        android:label="@string/permlab_wakeLock"
1044        android:description="@string/permdesc_wakeLock" />
1045
1046    <!-- Allows using the device's IR transmitter, if available -->
1047    <permission android:name="android.permission.TRANSMIT_IR"
1048        android:permissionGroup="android.permission-group.AFFECTS_BATTERY"
1049        android:protectionLevel="normal"
1050        android:label="@string/permlab_transmitIr"
1051        android:description="@string/permdesc_transmitIr" />
1052
1053    <!-- ==================================================== -->
1054    <!-- Permissions related to changing audio settings   -->
1055    <!-- ==================================================== -->
1056    <eat-comment />
1057
1058    <!-- Used for permissions that provide direct access to speaker settings
1059         the device. -->
1060    <permission-group android:name="android.permission-group.AUDIO_SETTINGS"
1061        android:label="@string/permgrouplab_audioSettings"
1062        android:icon="@drawable/perm_group_audio_settings"
1063        android:description="@string/permgroupdesc_audioSettings"
1064        android:priority="130" />
1065
1066    <!-- Allows an application to modify global audio settings -->
1067    <permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"
1068        android:permissionGroup="android.permission-group.AUDIO_SETTINGS"
1069        android:protectionLevel="normal"
1070        android:label="@string/permlab_modifyAudioSettings"
1071        android:description="@string/permdesc_modifyAudioSettings" />
1072
1073    <!-- ================================== -->
1074    <!-- Permissions for accessing hardware -->
1075    <!-- ================================== -->
1076    <eat-comment />
1077
1078    <!-- Used for permissions that provide direct access to the hardware on
1079         the device.  This includes audio, the camera, vibrator, etc. -->
1080    <permission-group android:name="android.permission-group.HARDWARE_CONTROLS"
1081        android:label="@string/permgrouplab_hardwareControls"
1082        android:description="@string/permgroupdesc_hardwareControls"
1083        android:priority="260"/>
1084
1085    <!-- @SystemApi Allows an application to manage preferences and permissions for USB devices
1086         @hide -->
1087    <permission android:name="android.permission.MANAGE_USB"
1088        android:permissionGroup="android.permission-group.HARDWARE_CONTROLS"
1089        android:protectionLevel="signature|system"
1090        android:label="@string/permlab_manageUsb"
1091        android:description="@string/permdesc_manageUsb" />
1092
1093    <!-- @SystemApi Allows an application to access the MTP USB kernel driver.
1094         For use only by the device side MTP implementation.
1095         @hide -->
1096    <permission android:name="android.permission.ACCESS_MTP"
1097        android:permissionGroup="android.permission-group.HARDWARE_CONTROLS"
1098        android:protectionLevel="signature|system"
1099        android:label="@string/permlab_accessMtp"
1100        android:description="@string/permdesc_accessMtp" />
1101
1102    <!-- Allows access to hardware peripherals.  Intended only for hardware testing.
1103    <p>Not for use by third-party applications. -->
1104    <permission android:name="android.permission.HARDWARE_TEST"
1105        android:permissionGroup="android.permission-group.HARDWARE_CONTROLS"
1106        android:protectionLevel="signature"
1107        android:label="@string/permlab_hardware_test"
1108        android:description="@string/permdesc_hardware_test" />
1109
1110    <!-- @SystemApi Allows access to FM
1111         @hide This is not a third-party API (intended for system apps).-->
1112    <permission android:name="android.permission.ACCESS_FM_RADIO"
1113        android:permissionGroup="android.permission-group.HARDWARE_CONTROLS"
1114        android:protectionLevel="signature|system"
1115        android:label="@string/permlab_fm"
1116        android:description="@string/permdesc_fm" />
1117
1118    <!-- Allows access to configure network interfaces, configure/use IPSec, etc.
1119         @hide -->
1120    <permission android:name="android.permission.NET_ADMIN"
1121        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1122        android:protectionLevel="signature" />
1123
1124    <!-- Allows registration for remote audio playback. @hide -->
1125    <permission android:name="android.permission.REMOTE_AUDIO_PLAYBACK"
1126        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1127        android:protectionLevel="signature" />
1128
1129    <!-- @SystemApi Allows TvInputService to access underlying TV input hardware such as
1130         built-in tuners and HDMI-in's.
1131         @hide This should only be used by OEM's TvInputService's.
1132    -->
1133    <permission android:name="android.permission.TV_INPUT_HARDWARE"
1134        android:protectionLevel="signatureOrSystem" />
1135
1136    <!-- @SystemApi Allows to capture a frame of TV input hardware such as
1137         built-in tuners and HDMI-in's.
1138         @hide <p>Not for use by third-party applications.
1139    -->
1140    <permission android:name="android.permission.CAPTURE_TV_INPUT"
1141        android:protectionLevel="signatureOrSystem" />
1142
1143    <!-- @hide Allows enabling/disabling OEM unlock
1144   <p>Not for use by third-party applications. -->
1145    <permission android:name="android.permission.OEM_UNLOCK_STATE"
1146                android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1147                android:protectionLevel="signature" />
1148
1149
1150    <!-- =========================================== -->
1151    <!-- Permissions associated with audio capture -->
1152    <!-- =========================================== -->
1153    <eat-comment />
1154
1155    <!-- Used for permissions that are associated with accessing
1156         microphone audio from the device. Note that phone calls also capture audio
1157         but are in a separate (more visible) permission group. -->
1158    <permission-group android:name="android.permission-group.MICROPHONE"
1159        android:label="@string/permgrouplab_microphone"
1160        android:icon="@drawable/perm_group_microphone"
1161        android:description="@string/permgroupdesc_microphone"
1162        android:permissionGroupFlags="personalInfo"
1163        android:priority="340" />
1164
1165    <!-- Allows an application to record audio -->
1166    <permission android:name="android.permission.RECORD_AUDIO"
1167        android:permissionGroup="android.permission-group.MICROPHONE"
1168        android:protectionLevel="dangerous"
1169        android:label="@string/permlab_recordAudio"
1170        android:description="@string/permdesc_recordAudio" />
1171
1172
1173    <!-- =========================================== -->
1174    <!-- Permissions associated with camera and image capture -->
1175    <!-- =========================================== -->
1176    <eat-comment />
1177
1178    <!-- Used for permissions that are associated with accessing
1179         camera or capturing images/video from the device. -->
1180    <permission-group android:name="android.permission-group.CAMERA"
1181        android:label="@string/permgrouplab_camera"
1182        android:icon="@drawable/perm_group_camera"
1183        android:description="@string/permgroupdesc_camera"
1184        android:permissionGroupFlags="personalInfo"
1185        android:priority="350" />
1186
1187    <!-- Required to be able to access the camera device.
1188         <p>This will automatically enforce the <a
1189         href="{@docRoot}guide/topics/manifest/uses-feature-element.html">{@code
1190         &lt;uses-feature&gt;}</a> manifest element for <em>all</em> camera features.
1191         If you do not require all camera features or can properly operate if a camera
1192         is not available, then you must modify your manifest as appropriate in order to
1193         install on devices that don't support all camera features.</p> -->
1194    <permission android:name="android.permission.CAMERA"
1195        android:permissionGroup="android.permission-group.CAMERA"
1196        android:protectionLevel="dangerous"
1197        android:label="@string/permlab_camera"
1198        android:description="@string/permdesc_camera" />
1199
1200    <!-- @SystemApi Allows disabling the transmit-indicator LED that is normally on when
1201         a camera is in use by an application.
1202         @hide -->
1203    <permission android:name="android.permission.CAMERA_DISABLE_TRANSMIT_LED"
1204        android:permissionGroup="android.permission-group.CAMERA"
1205        android:protectionLevel="signature|system"
1206        android:label="@string/permlab_cameraDisableTransmitLed"
1207        android:description="@string/permdesc_cameraDisableTransmitLed" />
1208
1209    <!-- =========================================== -->
1210    <!-- Permissions associated with telephony state -->
1211    <!-- =========================================== -->
1212    <eat-comment />
1213
1214    <!-- Used for permissions that are associated with accessing and modifying
1215         telephony state: placing calls, intercepting outgoing calls, reading
1216         and modifying the phone state. -->
1217    <permission-group android:name="android.permission-group.PHONE_CALLS"
1218        android:label="@string/permgrouplab_phoneCalls"
1219        android:icon="@drawable/perm_group_phone_calls"
1220        android:description="@string/permgroupdesc_phoneCalls"
1221        android:permissionGroupFlags="personalInfo"
1222        android:priority="370" />
1223
1224    <!-- Allows an application to see the number being dialed during an outgoing
1225         call with the option to redirect the call to a different number or
1226         abort the call altogether. -->
1227    <permission android:name="android.permission.PROCESS_OUTGOING_CALLS"
1228        android:permissionGroup="android.permission-group.PHONE_CALLS"
1229        android:protectionLevel="dangerous"
1230        android:label="@string/permlab_processOutgoingCalls"
1231        android:description="@string/permdesc_processOutgoingCalls" />
1232
1233    <!-- @SystemApi Allows modification of the telephony state - power on, mmi, etc.
1234         Does not include placing calls.
1235         <p>Not for use by third-party applications. -->
1236    <permission android:name="android.permission.MODIFY_PHONE_STATE"
1237        android:permissionGroup="android.permission-group.PHONE_CALLS"
1238        android:protectionLevel="signature|system"
1239        android:label="@string/permlab_modifyPhoneState"
1240        android:description="@string/permdesc_modifyPhoneState" />
1241
1242    <!-- Allows read only access to phone state.
1243         <p class="note"><strong>Note:</strong> If <em>both</em> your <a
1244         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#min">{@code
1245         minSdkVersion}</a> and <a
1246         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
1247         targetSdkVersion}</a> values are set to 3 or lower, the system implicitly
1248         grants your app this permission. If you don't need this permission, be sure your <a
1249         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
1250         targetSdkVersion}</a> is 4 or higher. -->
1251    <permission android:name="android.permission.READ_PHONE_STATE"
1252        android:permissionGroup="android.permission-group.PHONE_CALLS"
1253        android:protectionLevel="dangerous"
1254        android:label="@string/permlab_readPhoneState"
1255        android:description="@string/permdesc_readPhoneState" />
1256
1257    <!-- Allows read only access to precise phone state.
1258         @hide Pending API council approval -->
1259    <permission android:name="android.permission.READ_PRECISE_PHONE_STATE"
1260        android:permissionGroup="android.permission-group.PHONE_CALLS"
1261        android:protectionLevel="signature|system"
1262        android:label="@string/permlab_readPrecisePhoneState"
1263        android:description="@string/permdesc_readPrecisePhoneState" />
1264
1265    <!-- @SystemApi Allows read access to privileged phone state.
1266         @hide Used internally. -->
1267    <permission android:name="android.permission.READ_PRIVILEGED_PHONE_STATE"
1268        android:permissionGroup="android.permission-group.PHONE_CALLS"
1269        android:protectionLevel="signature|system" />
1270
1271     <!-- Allows an application to initiate a phone call without going through
1272         the Dialer user interface for the user to confirm the call
1273         being placed. -->
1274    <permission android:name="android.permission.CALL_PHONE"
1275        android:permissionGroup="android.permission-group.PHONE_CALLS"
1276        android:protectionLevel="dangerous"
1277        android:permissionFlags="costsMoney"
1278        android:label="@string/permlab_callPhone"
1279        android:description="@string/permdesc_callPhone" />
1280
1281    <!-- Allows an application to use SIP service -->
1282    <permission android:name="android.permission.USE_SIP"
1283        android:permissionGroup="android.permission-group.PHONE_CALLS"
1284        android:protectionLevel="dangerous"
1285        android:description="@string/permdesc_use_sip"
1286        android:label="@string/permlab_use_sip" />
1287
1288    <!-- @SystemApi Protects the ability to register any PhoneAccount with
1289         PhoneAccount#CAPABILITY_SIM_SUBSCRIPTION. This capability indicates that the PhoneAccount
1290         corresponds to a device SIM.
1291         @hide -->
1292    <permission android:name="android.permission.REGISTER_SIM_SUBSCRIPTION"
1293        android:permissionGroup="android.permission-group.PHONE_CALLS"
1294        android:protectionLevel="system|signature"
1295        android:description="@string/permdesc_register_sim_subscription"
1296        android:label="@string/permlab_register_sim_subscription" />
1297
1298    <!-- @SystemApi Protects the ability to register any PhoneAccount with
1299         PhoneAccount#CAPABILITY_CALL_PROVIDER.
1300         @hide -->
1301    <permission android:name="android.permission.REGISTER_CALL_PROVIDER"
1302        android:permissionGroup="android.permission-group.PHONE_CALLS"
1303        android:protectionLevel="system|signature"
1304        android:description="@string/permdesc_register_call_provider"
1305        android:label="@string/permlab_register_call_provider" />
1306
1307    <!-- @SystemApi Protects the ability to register any PhoneAccount with
1308         PhoneAccount#CAPABILITY_CONNECTION_MANAGER
1309         @hide -->
1310    <permission android:name="android.permission.REGISTER_CONNECTION_MANAGER"
1311        android:permissionGroup="android.permission-group.PHONE_CALLS"
1312        android:protectionLevel="system|signature"
1313        android:description="@string/permdesc_connection_manager"
1314        android:label="@string/permlab_connection_manager" />
1315
1316    <!-- @SystemApi Allows an application to bind to InCallService implementations.
1317         @hide -->
1318    <permission android:name="android.permission.BIND_INCALL_SERVICE"
1319        android:permissionGroup="android.permission-group.PHONE_CALLS"
1320        android:protectionLevel="system|signature"
1321        android:description="@string/permdesc_bind_incall_service"
1322        android:label="@string/permlab_bind_incall_service" />
1323
1324    <!-- @SystemApi Allows an application to bind to ConnectionService implementations.
1325         @hide -->
1326    <permission android:name="android.permission.BIND_CONNECTION_SERVICE"
1327                android:permissionGroup="android.permission-group.PHONE_CALLS"
1328                android:protectionLevel="system|signature"
1329                android:description="@string/permdesc_bind_connection_service"
1330                android:label="@string/permlab_bind_connection_service" />
1331
1332    <!-- @SystemApi Allows an application to control the in-call experience.
1333         @hide -->
1334    <permission android:name="android.permission.CONTROL_INCALL_EXPERIENCE"
1335                android:permissionGroup="android.permission-group.PHONE_CALLS"
1336                android:protectionLevel="system|signature"
1337                android:description="@string/permdesc_control_incall_experience"
1338                android:label="@string/permlab_control_incall_experience" />
1339
1340    <!-- ================================== -->
1341    <!-- Permissions for sdcard interaction -->
1342    <!-- ================================== -->
1343    <eat-comment />
1344
1345    <!-- Group of permissions that are related to SD card access. -->
1346    <permission-group android:name="android.permission-group.STORAGE"
1347        android:label="@string/permgrouplab_storage"
1348        android:icon="@drawable/perm_group_storage"
1349        android:description="@string/permgroupdesc_storage"
1350        android:permissionGroupFlags="personalInfo"
1351        android:priority="240" />
1352
1353    <!-- Allows an application to read from external storage.
1354         <p>Any app that declares the {@link #WRITE_EXTERNAL_STORAGE} permission is implicitly
1355         granted this permission.</p>
1356         <p>This permission is enforced starting in API level 19.  Before API level 19, this
1357         permission is not enforced and all apps still have access to read from external storage.
1358         You can test your app with the permission enforced by enabling <em>Protect USB
1359         storage</em> under Developer options in the Settings app on a device running Android 4.1 or
1360         higher.</p>
1361         <p>Also starting in API level 19, this permission is <em>not</em> required to
1362         read/write files in your application-specific directories returned by
1363         {@link android.content.Context#getExternalFilesDir} and
1364         {@link android.content.Context#getExternalCacheDir}.
1365         <p class="note"><strong>Note:</strong> If <em>both</em> your <a
1366         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#min">{@code
1367         minSdkVersion}</a> and <a
1368         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
1369         targetSdkVersion}</a> values are set to 3 or lower, the system implicitly
1370         grants your app this permission. If you don't need this permission, be sure your <a
1371         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
1372         targetSdkVersion}</a> is 4 or higher.-->
1373    <permission android:name="android.permission.READ_EXTERNAL_STORAGE"
1374        android:permissionGroup="android.permission-group.STORAGE"
1375        android:label="@string/permlab_sdcardRead"
1376        android:description="@string/permdesc_sdcardRead"
1377        android:protectionLevel="normal" />
1378
1379    <!-- Allows an application to write to external storage.
1380         <p class="note"><strong>Note:</strong> If <em>both</em> your <a
1381         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#min">{@code
1382         minSdkVersion}</a> and <a
1383         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
1384         targetSdkVersion}</a> values are set to 3 or lower, the system implicitly
1385         grants your app this permission. If you don't need this permission, be sure your <a
1386         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
1387         targetSdkVersion}</a> is 4 or higher.
1388         <p>Starting in API level 19, this permission is <em>not</em> required to
1389         read/write files in your application-specific directories returned by
1390         {@link android.content.Context#getExternalFilesDir} and
1391         {@link android.content.Context#getExternalCacheDir}. -->
1392    <permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
1393        android:permissionGroup="android.permission-group.STORAGE"
1394        android:label="@string/permlab_sdcardWrite"
1395        android:description="@string/permdesc_sdcardWrite"
1396        android:protectionLevel="dangerous" />
1397
1398    <!-- @SystemApi Allows an application to write to internal media storage
1399         @hide  -->
1400    <permission android:name="android.permission.WRITE_MEDIA_STORAGE"
1401        android:permissionGroup="android.permission-group.STORAGE"
1402        android:label="@string/permlab_mediaStorageWrite"
1403        android:description="@string/permdesc_mediaStorageWrite"
1404        android:protectionLevel="signature|system" />
1405
1406    <!-- Allows an application to manage access to documents, usually as part
1407         of a document picker. -->
1408    <permission android:name="android.permission.MANAGE_DOCUMENTS"
1409        android:permissionGroup="android.permission-group.STORAGE"
1410        android:label="@string/permlab_manageDocs"
1411        android:description="@string/permdesc_manageDocs"
1412        android:protectionLevel="signature" />
1413
1414    <!-- ================================== -->
1415    <!-- Permissions for screenlock         -->
1416    <!-- ================================== -->
1417    <eat-comment />
1418
1419    <!-- Group of permissions that are related to the screenlock. -->
1420    <permission-group android:name="android.permission-group.SCREENLOCK"
1421        android:label="@string/permgrouplab_screenlock"
1422        android:icon="@drawable/perm_group_screenlock"
1423        android:permissionGroupFlags="personalInfo"
1424        android:description="@string/permgroupdesc_screenlock"
1425        android:priority="230" />
1426
1427    <!-- Allows applications to disable the keyguard -->
1428    <permission android:name="android.permission.DISABLE_KEYGUARD"
1429        android:permissionGroup="android.permission-group.SCREENLOCK"
1430        android:protectionLevel="dangerous"
1431        android:description="@string/permdesc_disableKeyguard"
1432        android:label="@string/permlab_disableKeyguard" />
1433
1434    <!-- ================================== -->
1435    <!-- Permissions to access other installed applications  -->
1436    <!-- ================================== -->
1437    <eat-comment />
1438
1439    <!-- Group of permissions that are related to the other applications
1440         installed on the system.  Examples include such as listing
1441         running apps, or killing background processes. -->
1442    <permission-group android:name="android.permission-group.APP_INFO"
1443        android:label="@string/permgrouplab_appInfo"
1444        android:icon="@drawable/perm_group_app_info"
1445        android:description="@string/permgroupdesc_appInfo"
1446        android:priority="220" />
1447
1448    <!-- @deprecated No longer enforced. -->
1449    <permission android:name="android.permission.GET_TASKS"
1450        android:permissionGroup="android.permission-group.APP_INFO"
1451        android:protectionLevel="normal"
1452        android:label="@string/permlab_getTasks"
1453        android:description="@string/permdesc_getTasks" />
1454
1455    <!-- New version of GET_TASKS that apps can request, since GET_TASKS doesn't really
1456         give access to task information.  We need this new one because there are
1457         many existing apps that use add libraries and such that have validation
1458         code to ensure the app has requested the GET_TASKS permission by seeing
1459         if it has been granted the permission...  if it hasn't, it kills the app
1460         with a message about being upset.  So we need to have it continue to look
1461         like the app is getting that permission, even though it will never be
1462         checked, and new privileged apps can now request this one for real access.
1463         @hide
1464         @SystemApi -->
1465    <permission android:name="android.permission.REAL_GET_TASKS"
1466        android:permissionGroup="android.permission-group.APP_INFO"
1467        android:protectionLevel="signature|system"
1468        android:label="@string/permlab_getTasks"
1469        android:description="@string/permdesc_getTasks" />
1470
1471    <!-- Allows an application to start a task from a ActivityManager#RecentTaskInfo.
1472         @hide -->
1473    <permission android:name="android.permission.START_TASKS_FROM_RECENTS"
1474        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1475        android:protectionLevel="signature|system"
1476        android:label="@string/permlab_startTasksFromRecents"
1477        android:description="@string/permdesc_startTasksFromRecents" />
1478
1479    <!-- @SystemApi @hide Allows an application to call APIs that allow it to do interactions
1480         across the users on the device, using singleton services and
1481         user-targeted broadcasts.  This permission is not available to
1482         third party applications. -->
1483    <permission android:name="android.permission.INTERACT_ACROSS_USERS"
1484        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1485        android:protectionLevel="signature|system|development"
1486        android:label="@string/permlab_interactAcrossUsers"
1487        android:description="@string/permdesc_interactAcrossUsers" />
1488
1489    <!-- @hide Fuller form of {@link android.Manifest.permission#INTERACT_ACROSS_USERS}
1490         that removes restrictions on where broadcasts can be sent and allows other
1491         types of interactions. -->
1492    <permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL"
1493        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1494        android:protectionLevel="signature"
1495        android:label="@string/permlab_interactAcrossUsersFull"
1496        android:description="@string/permdesc_interactAcrossUsersFull" />
1497
1498    <!-- @SystemApi @hide Allows an application to call APIs that allow it to query and manage
1499         users on the device. This permission is not available to
1500         third party applications. -->
1501    <permission android:name="android.permission.MANAGE_USERS"
1502        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1503        android:protectionLevel="signature|system"
1504        android:label="@string/permlab_manageUsers"
1505        android:description="@string/permdesc_manageUsers" />
1506
1507    <!-- Allows an application to get full detailed information about
1508         recently running tasks, with full fidelity to the real state.
1509         @hide -->
1510    <permission android:name="android.permission.GET_DETAILED_TASKS"
1511        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1512        android:protectionLevel="signature"
1513        android:label="@string/permlab_getDetailedTasks"
1514        android:description="@string/permdesc_getDetailedTasks" />
1515
1516    <!-- Allows an application to change the Z-order of tasks -->
1517    <permission android:name="android.permission.REORDER_TASKS"
1518        android:permissionGroup="android.permission-group.APP_INFO"
1519        android:protectionLevel="normal"
1520        android:label="@string/permlab_reorderTasks"
1521        android:description="@string/permdesc_reorderTasks" />
1522
1523    <!-- @hide Allows an application to change to remove/kill tasks -->
1524    <permission android:name="android.permission.REMOVE_TASKS"
1525        android:permissionGroup="android.permission-group.APP_INFO"
1526        android:protectionLevel="signature"
1527        android:label="@string/permlab_removeTasks"
1528        android:description="@string/permdesc_removeTasks" />
1529
1530    <!-- @SystemApi @hide Allows an application to create/manage/remove stacks -->
1531    <permission android:name="android.permission.MANAGE_ACTIVITY_STACKS"
1532        android:permissionGroup="android.permission-group.APP_INFO"
1533        android:protectionLevel="signature|system"
1534        android:label="@string/permlab_manageActivityStacks"
1535        android:description="@string/permdesc_manageActivityStacks" />
1536
1537    <!-- Allows an application to start any activity, regardless of permission
1538         protection or exported state. @hide -->
1539    <permission android:name="android.permission.START_ANY_ACTIVITY"
1540        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1541        android:protectionLevel="signature"
1542        android:label="@string/permlab_startAnyActivity"
1543        android:description="@string/permdesc_startAnyActivity" />
1544
1545    <!-- @deprecated The {@link android.app.ActivityManager#restartPackage}
1546        API is no longer supported. -->
1547    <permission android:name="android.permission.RESTART_PACKAGES"
1548        android:permissionGroup="android.permission-group.APP_INFO"
1549        android:protectionLevel="normal"
1550        android:label="@string/permlab_killBackgroundProcesses"
1551        android:description="@string/permdesc_killBackgroundProcesses" />
1552
1553    <!-- Allows an application to call
1554        {@link android.app.ActivityManager#killBackgroundProcesses}. -->
1555    <permission android:name="android.permission.KILL_BACKGROUND_PROCESSES"
1556        android:permissionGroup="android.permission-group.APP_INFO"
1557        android:protectionLevel="normal"
1558        android:label="@string/permlab_killBackgroundProcesses"
1559        android:description="@string/permdesc_killBackgroundProcesses" />
1560
1561    <!-- ================================== -->
1562    <!-- Permissions affecting the display of other applications  -->
1563    <!-- ================================== -->
1564    <eat-comment />
1565
1566    <!-- Group of permissions that allow manipulation of how
1567         another application displays UI to the user. -->
1568    <permission-group android:name="android.permission-group.DISPLAY"
1569        android:label="@string/permgrouplab_display"
1570        android:icon="@drawable/perm_group_display"
1571        android:description="@string/permgroupdesc_display"
1572        android:priority="190"/>
1573
1574    <!-- Allows an application to open windows using the type
1575         {@link android.view.WindowManager.LayoutParams#TYPE_SYSTEM_ALERT},
1576         shown on top of all other applications.  Very few applications
1577         should use this permission; these windows are intended for
1578         system-level interaction with the user. -->
1579    <permission android:name="android.permission.SYSTEM_ALERT_WINDOW"
1580        android:permissionGroup="android.permission-group.DISPLAY"
1581        android:protectionLevel="dangerous"
1582        android:label="@string/permlab_systemAlertWindow"
1583        android:description="@string/permdesc_systemAlertWindow" />
1584
1585    <!-- ================================== -->
1586    <!-- Permissions affecting the system wallpaper -->
1587    <!-- ================================== -->
1588    <eat-comment />
1589
1590    <!-- Group of permissions that allow manipulation of how
1591         another application displays UI to the user. -->
1592    <permission-group android:name="android.permission-group.WALLPAPER"
1593        android:label="@string/permgrouplab_wallpaper"
1594        android:icon="@drawable/perm_group_wallpaper"
1595        android:description="@string/permgroupdesc_wallpaper"
1596        android:priority="150" />
1597
1598    <!-- Allows applications to set the wallpaper -->
1599    <permission android:name="android.permission.SET_WALLPAPER"
1600        android:permissionGroup="android.permission-group.WALLPAPER"
1601        android:protectionLevel="normal"
1602        android:label="@string/permlab_setWallpaper"
1603        android:description="@string/permdesc_setWallpaper" />
1604
1605    <!-- Allows applications to set the wallpaper hints -->
1606    <permission android:name="android.permission.SET_WALLPAPER_HINTS"
1607        android:permissionGroup="android.permission-group.WALLPAPER"
1608        android:protectionLevel="normal"
1609        android:label="@string/permlab_setWallpaperHints"
1610        android:description="@string/permdesc_setWallpaperHints" />
1611
1612    <!-- ============================================ -->
1613    <!-- Permissions for changing the system clock -->
1614    <!-- ============================================ -->
1615    <eat-comment />
1616
1617    <!-- Group of permissions that are related to system clock. -->
1618    <permission-group android:name="android.permission-group.SYSTEM_CLOCK"
1619        android:label="@string/permgrouplab_systemClock"
1620        android:icon="@drawable/perm_group_system_clock"
1621        android:description="@string/permgroupdesc_systemClock"
1622        android:priority="140" />
1623
1624    <!-- @SystemApi Allows applications to set the system time.
1625    <p>Not for use by third-party applications. -->
1626    <permission android:name="android.permission.SET_TIME"
1627        android:protectionLevel="signature|system"
1628        android:label="@string/permlab_setTime"
1629        android:description="@string/permdesc_setTime" />
1630
1631    <!-- Allows applications to set the system time zone -->
1632    <permission android:name="android.permission.SET_TIME_ZONE"
1633        android:permissionGroup="android.permission-group.SYSTEM_CLOCK"
1634        android:protectionLevel="normal"
1635        android:label="@string/permlab_setTimeZone"
1636        android:description="@string/permdesc_setTimeZone" />
1637
1638    <!-- ==================================================== -->
1639    <!-- Permissions related to changing status bar   -->
1640    <!-- ==================================================== -->
1641    <eat-comment />
1642
1643    <!-- Used for permissions that change the status bar -->
1644    <permission-group android:name="android.permission-group.STATUS_BAR"
1645        android:label="@string/permgrouplab_statusBar"
1646        android:icon="@drawable/perm_group_status_bar"
1647        android:description="@string/permgroupdesc_statusBar"
1648        android:priority="110" />
1649
1650    <!-- Allows an application to expand or collapse the status bar. -->
1651    <permission android:name="android.permission.EXPAND_STATUS_BAR"
1652        android:permissionGroup="android.permission-group.STATUS_BAR"
1653        android:protectionLevel="normal"
1654        android:label="@string/permlab_expandStatusBar"
1655        android:description="@string/permdesc_expandStatusBar" />
1656
1657    <!-- ============================================================== -->
1658    <!-- Permissions related to adding/removing shortcuts from Launcher -->
1659    <!-- ============================================================== -->
1660    <eat-comment />
1661
1662    <!-- Allows an application to install a shortcut in Launcher -->
1663    <permission
1664        android:name="com.android.launcher.permission.INSTALL_SHORTCUT"
1665        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1666        android:protectionLevel="dangerous"
1667        android:label="@string/permlab_install_shortcut"
1668        android:description="@string/permdesc_install_shortcut" />
1669
1670        <!-- Allows an application to uninstall a shortcut in Launcher -->
1671    <permission
1672        android:name="com.android.launcher.permission.UNINSTALL_SHORTCUT"
1673        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1674        android:protectionLevel="dangerous"
1675        android:label="@string/permlab_uninstall_shortcut"
1676        android:description="@string/permdesc_uninstall_shortcut"/>
1677
1678    <!-- ==================================================== -->
1679    <!-- Permissions related to accessing sync settings   -->
1680    <!-- ==================================================== -->
1681    <eat-comment />
1682
1683    <!-- Used for permissions that access the sync settings or sync
1684         related information. -->
1685    <permission-group android:name="android.permission-group.SYNC_SETTINGS"
1686        android:label="@string/permgrouplab_syncSettings"
1687        android:icon="@drawable/perm_group_sync_settings"
1688        android:description="@string/permgroupdesc_syncSettings"
1689        android:priority="120" />
1690
1691    <!-- Allows applications to read the sync settings -->
1692    <permission android:name="android.permission.READ_SYNC_SETTINGS"
1693        android:permissionGroup="android.permission-group.SYNC_SETTINGS"
1694        android:protectionLevel="normal"
1695        android:description="@string/permdesc_readSyncSettings"
1696        android:label="@string/permlab_readSyncSettings" />
1697
1698    <!-- Allows applications to write the sync settings -->
1699    <permission android:name="android.permission.WRITE_SYNC_SETTINGS"
1700        android:permissionGroup="android.permission-group.SYNC_SETTINGS"
1701        android:protectionLevel="normal"
1702        android:description="@string/permdesc_writeSyncSettings"
1703        android:label="@string/permlab_writeSyncSettings" />
1704
1705    <!-- Allows applications to read the sync stats -->
1706    <permission android:name="android.permission.READ_SYNC_STATS"
1707        android:permissionGroup="android.permission-group.SYNC_SETTINGS"
1708        android:protectionLevel="normal"
1709        android:description="@string/permdesc_readSyncStats"
1710        android:label="@string/permlab_readSyncStats" />
1711
1712
1713    <!-- ============================================ -->
1714    <!-- Permissions for low-level system interaction -->
1715    <!-- ============================================ -->
1716    <eat-comment />
1717
1718    <!-- Group of permissions that are related to system APIs.  Many
1719         of these are not permissions the user will be expected to understand,
1720         and such permissions should generally be marked as "normal" protection
1721         level so they don't get displayed.  This can also, however, be used
1722         for miscellaneous features that provide access to the operating system,
1723         such as writing the global system settings. -->
1724    <permission-group android:name="android.permission-group.SYSTEM_TOOLS"
1725        android:label="@string/permgrouplab_systemTools"
1726        android:icon="@drawable/perm_group_system_tools"
1727        android:description="@string/permgroupdesc_systemTools"
1728        android:priority="100" />
1729
1730    <!-- @SystemApi @hide Change the screen compatibility mode of applications -->
1731    <permission android:name="android.permission.SET_SCREEN_COMPATIBILITY"
1732        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1733        android:protectionLevel="signature"
1734        android:label="@string/permlab_setScreenCompatibility"
1735        android:description="@string/permdesc_setScreenCompatibility" />
1736
1737    <!-- Allows an application to access all multi-user external storage @hide -->
1738    <permission android:name="android.permission.ACCESS_ALL_EXTERNAL_STORAGE"
1739        android:permissionGroup="android.permission-group.DEVELOPMENT_TOOLS"
1740        android:label="@string/permlab_sdcardAccessAll"
1741        android:description="@string/permdesc_sdcardAccessAll"
1742        android:protectionLevel="signature" />
1743
1744    <!-- @SystemApi Allows an application to modify the current configuration, such
1745         as locale. -->
1746    <permission android:name="android.permission.CHANGE_CONFIGURATION"
1747        android:permissionGroup="android.permission-group.DEVELOPMENT_TOOLS"
1748        android:protectionLevel="signature|system|development"
1749        android:label="@string/permlab_changeConfiguration"
1750        android:description="@string/permdesc_changeConfiguration" />
1751
1752    <!-- Allows an application to read or write the system settings. -->
1753    <permission android:name="android.permission.WRITE_SETTINGS"
1754        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1755        android:protectionLevel="normal"
1756        android:label="@string/permlab_writeSettings"
1757        android:description="@string/permdesc_writeSettings" />
1758
1759    <!-- @SystemApi Allows an application to modify the Google service map.
1760    <p>Not for use by third-party applications. -->
1761    <permission android:name="android.permission.WRITE_GSERVICES"
1762        android:protectionLevel="signature|system"
1763        android:label="@string/permlab_writeGservices"
1764        android:description="@string/permdesc_writeGservices" />
1765
1766    <!-- @SystemApi Allows an application to call
1767        {@link android.app.ActivityManager#forceStopPackage}.
1768        @hide -->
1769    <permission android:name="android.permission.FORCE_STOP_PACKAGES"
1770        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1771        android:protectionLevel="signature|system"
1772        android:label="@string/permlab_forceStopPackages"
1773        android:description="@string/permdesc_forceStopPackages" />
1774
1775    <!-- @SystemApi @hide Allows an application to retrieve the content of the active window
1776         An active window is the window that has fired an accessibility event. -->
1777    <permission android:name="android.permission.RETRIEVE_WINDOW_CONTENT"
1778        android:permissionGroup="android.permission-group.PERSONAL_INFO"
1779        android:protectionLevel="signature|system"
1780        android:label="@string/permlab_retrieve_window_content"
1781        android:description="@string/permdesc_retrieve_window_content" />
1782
1783    <!-- @SystemApi Modify the global animation scaling factor.
1784    <p>Not for use by third-party applications. -->
1785    <permission android:name="android.permission.SET_ANIMATION_SCALE"
1786        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1787        android:protectionLevel="signature|system|development"
1788        android:label="@string/permlab_setAnimationScale"
1789        android:description="@string/permdesc_setAnimationScale" />
1790
1791    <!-- @deprecated This functionality will be removed in the future; please do
1792         not use. Allow an application to make its activities persistent. -->
1793    <permission android:name="android.permission.PERSISTENT_ACTIVITY"
1794        android:permissionGroup="android.permission-group.APP_INFO"
1795        android:protectionLevel="normal"
1796        android:label="@string/permlab_persistentActivity"
1797        android:description="@string/permdesc_persistentActivity" />
1798
1799    <!-- Allows an application to find out the space used by any package. -->
1800    <permission android:name="android.permission.GET_PACKAGE_SIZE"
1801        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1802        android:protectionLevel="normal"
1803        android:label="@string/permlab_getPackageSize"
1804        android:description="@string/permdesc_getPackageSize" />
1805
1806    <!-- @deprecated No longer useful, see
1807         {@link android.content.pm.PackageManager#addPackageToPreferred}
1808         for details. -->
1809    <permission android:name="android.permission.SET_PREFERRED_APPLICATIONS"
1810        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1811        android:protectionLevel="signature"
1812        android:label="@string/permlab_setPreferredApplications"
1813        android:description="@string/permdesc_setPreferredApplications" />
1814
1815    <!-- Allows an application to receive the
1816         {@link android.content.Intent#ACTION_BOOT_COMPLETED} that is
1817         broadcast after the system finishes booting.  If you don't
1818         request this permission, you will not receive the broadcast at
1819         that time.  Though holding this permission does not have any
1820         security implications, it can have a negative impact on the
1821         user experience by increasing the amount of time it takes the
1822         system to start and allowing applications to have themselves
1823         running without the user being aware of them.  As such, you must
1824         explicitly declare your use of this facility to make that visible
1825         to the user. -->
1826    <permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"
1827        android:permissionGroup="android.permission-group.APP_INFO"
1828        android:protectionLevel="normal"
1829        android:label="@string/permlab_receiveBootCompleted"
1830        android:description="@string/permdesc_receiveBootCompleted" />
1831
1832    <!-- Allows an application to broadcast sticky intents.  These are
1833         broadcasts whose data is held by the system after being finished,
1834         so that clients can quickly retrieve that data without having
1835         to wait for the next broadcast. -->
1836    <permission android:name="android.permission.BROADCAST_STICKY"
1837        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1838        android:protectionLevel="normal"
1839        android:label="@string/permlab_broadcastSticky"
1840        android:description="@string/permdesc_broadcastSticky" />
1841
1842    <!-- @SystemApi Allows mounting and unmounting file systems for removable storage.
1843    <p>Not for use by third-party applications.-->
1844    <permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"
1845        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1846        android:protectionLevel="system|signature"
1847        android:label="@string/permlab_mount_unmount_filesystems"
1848        android:description="@string/permdesc_mount_unmount_filesystems" />
1849
1850    <!-- @SystemApi Allows formatting file systems for removable storage.
1851    <p>Not for use by third-party applications. -->
1852    <permission android:name="android.permission.MOUNT_FORMAT_FILESYSTEMS"
1853        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1854        android:protectionLevel="system|signature"
1855        android:label="@string/permlab_mount_format_filesystems"
1856        android:description="@string/permdesc_mount_format_filesystems" />
1857
1858    <!-- Allows access to ASEC non-destructive API calls
1859         @hide  -->
1860    <permission android:name="android.permission.ASEC_ACCESS"
1861        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1862        android:protectionLevel="signature"
1863        android:label="@string/permlab_asec_access"
1864        android:description="@string/permdesc_asec_access" />
1865
1866    <!-- Allows creation of ASEC volumes
1867         @hide  -->
1868    <permission android:name="android.permission.ASEC_CREATE"
1869        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1870        android:protectionLevel="signature"
1871        android:label="@string/permlab_asec_create"
1872        android:description="@string/permdesc_asec_create" />
1873
1874    <!-- Allows destruction of ASEC volumes
1875         @hide  -->
1876    <permission android:name="android.permission.ASEC_DESTROY"
1877        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1878        android:protectionLevel="signature"
1879        android:label="@string/permlab_asec_destroy"
1880        android:description="@string/permdesc_asec_destroy" />
1881
1882    <!-- Allows mount / unmount of ASEC volumes
1883         @hide  -->
1884    <permission android:name="android.permission.ASEC_MOUNT_UNMOUNT"
1885        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1886        android:protectionLevel="signature"
1887        android:label="@string/permlab_asec_mount_unmount"
1888        android:description="@string/permdesc_asec_mount_unmount" />
1889
1890    <!-- Allows rename of ASEC volumes
1891         @hide  -->
1892    <permission android:name="android.permission.ASEC_RENAME"
1893        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1894        android:protectionLevel="signature"
1895        android:label="@string/permlab_asec_rename"
1896        android:description="@string/permdesc_asec_rename" />
1897
1898    <!-- @SystemApi Allows applications to write the apn settings.
1899    <p>Not for use by third-party applications. -->
1900    <permission android:name="android.permission.WRITE_APN_SETTINGS"
1901                android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1902                android:protectionLevel="signature|system"
1903                android:description="@string/permdesc_writeApnSettings"
1904                android:label="@string/permlab_writeApnSettings" />
1905
1906    <!-- Allows an application to allow access the subscribed feeds
1907         ContentProvider. -->
1908    <permission android:name="android.permission.SUBSCRIBED_FEEDS_READ"
1909        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1910        android:label="@string/permlab_subscribedFeedsRead"
1911        android:description="@string/permdesc_subscribedFeedsRead"
1912        android:protectionLevel="normal" />
1913    <permission android:name="android.permission.SUBSCRIBED_FEEDS_WRITE"
1914        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1915        android:label="@string/permlab_subscribedFeedsWrite"
1916        android:description="@string/permdesc_subscribedFeedsWrite"
1917        android:protectionLevel="dangerous" />
1918
1919    <!-- Allows applications to change network connectivity state -->
1920    <permission android:name="android.permission.CHANGE_NETWORK_STATE"
1921        android:permissionGroup="android.permission-group.NETWORK"
1922        android:protectionLevel="normal"
1923        android:description="@string/permdesc_changeNetworkState"
1924        android:label="@string/permlab_changeNetworkState" />
1925
1926    <!-- Allows an application to clear the caches of all installed
1927         applications on the device.  -->
1928    <permission android:name="android.permission.CLEAR_APP_CACHE"
1929        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1930        android:protectionLevel="dangerous"
1931        android:label="@string/permlab_clearAppCache"
1932        android:description="@string/permdesc_clearAppCache" />
1933
1934    <!-- @SystemApi Allows an application to use any media decoder when decoding for playback
1935         @hide -->
1936    <permission android:name="android.permission.ALLOW_ANY_CODEC_FOR_PLAYBACK"
1937        android:protectionLevel="signature|system"
1938        android:label="@string/permlab_anyCodecForPlayback"
1939        android:description="@string/permdesc_anyCodecForPlayback" />
1940
1941    <!-- @SystemApi Allows an application to install and/or uninstall CA certificates on
1942         behalf of the user.
1943         @hide -->
1944    <permission android:name="android.permission.MANAGE_CA_CERTIFICATES"
1945        android:protectionLevel="signature|system"
1946        android:label="@string/permlab_manageCaCertificates"
1947        android:description="@string/permdesc_manageCaCertificates" />
1948
1949    <!-- @SystemApi Allows an application to do certain operations needed for
1950         interacting with the recovery (system update) system.
1951         @hide -->
1952    <permission android:name="android.permission.RECOVERY"
1953        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1954        android:protectionLevel="signature|system"
1955        android:label="@string/permlab_recovery"
1956        android:description="@string/permdesc_recovery" />
1957
1958    <!-- Allows the system to bind to an application's task services
1959         @hide -->
1960    <permission android:name="android.permission.BIND_JOB_SERVICE"
1961        android:protectionLevel="signature"
1962        android:label="@string/permlab_bindJobService"
1963        android:description="@string/permdesc_bindJobService" />
1964    <uses-permission android:name="android.permission.BIND_JOB_SERVICE"/>
1965
1966    <!-- ========================================= -->
1967    <!-- Permissions for special development tools -->
1968    <!-- ========================================= -->
1969    <eat-comment />
1970
1971    <!-- Group of permissions that are related to development features.  These
1972         are not permissions that should appear in third-party applications; they
1973         protect APIs that are intended only to be used for development
1974         purposes. -->
1975    <permission-group android:name="android.permission-group.DEVELOPMENT_TOOLS"
1976        android:label="@string/permgrouplab_developmentTools"
1977        android:description="@string/permgroupdesc_developmentTools"
1978        android:priority="310" />
1979
1980    <!-- @SystemApi Allows an application to read or write the secure system settings.
1981    <p>Not for use by third-party applications. -->
1982    <permission android:name="android.permission.WRITE_SECURE_SETTINGS"
1983        android:permissionGroup="android.permission-group.DEVELOPMENT_TOOLS"
1984        android:protectionLevel="signature|system|development"
1985        android:label="@string/permlab_writeSecureSettings"
1986        android:description="@string/permdesc_writeSecureSettings" />
1987
1988    <!-- @SystemApi Allows an application to retrieve state dump information from system services.
1989    <p>Not for use by third-party applications. -->
1990    <permission android:name="android.permission.DUMP"
1991        android:permissionGroup="android.permission-group.DEVELOPMENT_TOOLS"
1992        android:protectionLevel="signature|system|development"
1993        android:label="@string/permlab_dump"
1994        android:description="@string/permdesc_dump" />
1995
1996    <!-- @SystemApi Allows an application to read the low-level system log files.
1997    <p>Not for use by third-party applications, because
1998    Log entries can contain the user's private information. -->
1999    <permission android:name="android.permission.READ_LOGS"
2000        android:permissionGroup="android.permission-group.DEVELOPMENT_TOOLS"
2001        android:protectionLevel="signature|system|development"
2002        android:label="@string/permlab_readLogs"
2003        android:description="@string/permdesc_readLogs" />
2004
2005    <!-- @SystemApi Configure an application for debugging.
2006    <p>Not for use by third-party applications. -->
2007    <permission android:name="android.permission.SET_DEBUG_APP"
2008        android:permissionGroup="android.permission-group.DEVELOPMENT_TOOLS"
2009        android:protectionLevel="signature|system|development"
2010        android:label="@string/permlab_setDebugApp"
2011        android:description="@string/permdesc_setDebugApp" />
2012
2013    <!-- @SystemApi Allows an application to set the maximum number of (not needed)
2014         application processes that can be running.
2015         <p>Not for use by third-party applications. -->
2016    <permission android:name="android.permission.SET_PROCESS_LIMIT"
2017        android:permissionGroup="android.permission-group.DEVELOPMENT_TOOLS"
2018        android:protectionLevel="signature|system|development"
2019        android:label="@string/permlab_setProcessLimit"
2020        android:description="@string/permdesc_setProcessLimit" />
2021
2022    <!-- @SystemApi Allows an application to control whether activities are immediately
2023         finished when put in the background.
2024         <p>Not for use by third-party applications. -->
2025    <permission android:name="android.permission.SET_ALWAYS_FINISH"
2026        android:permissionGroup="android.permission-group.DEVELOPMENT_TOOLS"
2027        android:protectionLevel="signature|system|development"
2028        android:label="@string/permlab_setAlwaysFinish"
2029        android:description="@string/permdesc_setAlwaysFinish" />
2030
2031    <!-- @SystemApi Allow an application to request that a signal be sent to all persistent processes.
2032    <p>Not for use by third-party applications. -->
2033    <permission android:name="android.permission.SIGNAL_PERSISTENT_PROCESSES"
2034        android:permissionGroup="android.permission-group.DEVELOPMENT_TOOLS"
2035        android:protectionLevel="signature|system|development"
2036        android:label="@string/permlab_signalPersistentProcesses"
2037        android:description="@string/permdesc_signalPersistentProcesses" />
2038
2039    <!-- ==================================== -->
2040    <!-- Private (signature-only) permissions -->
2041    <!-- ==================================== -->
2042    <eat-comment />
2043
2044    <!-- @SystemApi Allows applications to RW to diagnostic resources.
2045    <p>Not for use by third-party applications. -->
2046    <permission android:name="android.permission.DIAGNOSTIC"
2047        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
2048        android:protectionLevel="signature"
2049        android:description="@string/permdesc_diagnostic"
2050        android:label="@string/permlab_diagnostic" />
2051
2052    <!-- @SystemApi Allows an application to open, close, or disable the status bar
2053         and its icons.
2054         <p>Not for use by third-party applications. -->
2055    <permission android:name="android.permission.STATUS_BAR"
2056        android:label="@string/permlab_statusBar"
2057        android:description="@string/permdesc_statusBar"
2058        android:protectionLevel="signature|system" />
2059
2060    <!-- Allows an application to be the status bar.  Currently used only by SystemUI.apk
2061    @hide -->
2062    <permission android:name="android.permission.STATUS_BAR_SERVICE"
2063        android:label="@string/permlab_statusBarService"
2064        android:description="@string/permdesc_statusBarService"
2065        android:protectionLevel="signature" />
2066
2067    <!-- Allows an application to force a BACK operation on whatever is the
2068         top activity.
2069         <p>Not for use by third-party applications. -->
2070    <permission android:name="android.permission.FORCE_BACK"
2071        android:label="@string/permlab_forceBack"
2072        android:description="@string/permdesc_forceBack"
2073        android:protectionLevel="signature" />
2074
2075    <!-- @SystemApi Allows an application to update device statistics.
2076    <p>Not for use by third-party applications. -->
2077    <permission android:name="android.permission.UPDATE_DEVICE_STATS"
2078        android:label="@string/permlab_updateBatteryStats"
2079        android:description="@string/permdesc_updateBatteryStats"
2080        android:protectionLevel="signature|system" />
2081
2082    <!-- @SystemApi @hide Allows an application to collect battery statistics -->
2083    <permission android:name="android.permission.GET_APP_OPS_STATS"
2084        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
2085        android:label="@string/permlab_getAppOpsStats"
2086        android:description="@string/permdesc_getAppOpsStats"
2087        android:protectionLevel="signature|system|development" />
2088
2089    <!-- @SystemApi Allows an application to update application operation statistics. Not for
2090         use by third party apps. @hide -->
2091    <permission android:name="android.permission.UPDATE_APP_OPS_STATS"
2092        android:label="@string/permlab_updateAppOpsStats"
2093        android:description="@string/permdesc_updateAppOpsStats"
2094        android:protectionLevel="signature|system" />
2095
2096    <!-- Allows an application to open windows that are for use by parts
2097         of the system user interface.
2098         <p>Not for use by third-party applications. -->
2099    <permission android:name="android.permission.INTERNAL_SYSTEM_WINDOW"
2100        android:label="@string/permlab_internalSystemWindow"
2101        android:description="@string/permdesc_internalSystemWindow"
2102        android:protectionLevel="signature" />
2103
2104    <!-- Allows an application to manage (create, destroy,
2105         Z-order) application tokens in the window manager.
2106         <p>Not for use by third-party applications. -->
2107    <permission android:name="android.permission.MANAGE_APP_TOKENS"
2108        android:label="@string/permlab_manageAppTokens"
2109        android:description="@string/permdesc_manageAppTokens"
2110        android:protectionLevel="signature" />
2111
2112    <!-- @hide Allows the application to temporarily freeze the screen for a
2113         full-screen transition. -->
2114    <permission android:name="android.permission.FREEZE_SCREEN"
2115        android:label="@string/permlab_freezeScreen"
2116        android:description="@string/permdesc_freezeScreen"
2117        android:protectionLevel="signature" />
2118
2119    <!-- Allows an application to inject user events (keys, touch, trackball)
2120         into the event stream and deliver them to ANY window.  Without this
2121         permission, you can only deliver events to windows in your own process.
2122         <p>Not for use by third-party applications. -->
2123    <permission android:name="android.permission.INJECT_EVENTS"
2124        android:label="@string/permlab_injectEvents"
2125        android:description="@string/permdesc_injectEvents"
2126        android:protectionLevel="signature" />
2127
2128    <!-- @hide Allows an application to register an input filter which filters the stream
2129         of user events (keys, touch, trackball) before they are dispatched to any window. -->
2130    <permission android:name="android.permission.FILTER_EVENTS"
2131        android:label="@string/permlab_filter_events"
2132        android:description="@string/permdesc_filter_events"
2133        android:protectionLevel="signature" />
2134
2135    <!-- @hide Allows an application to retrieve the window token from the accessibility manager. -->
2136    <permission android:name="android.permission.RETRIEVE_WINDOW_TOKEN"
2137        android:label="@string/permlab_retrieveWindowToken"
2138        android:description="@string/permdesc_retrieveWindowToken"
2139        android:protectionLevel="signature" />
2140
2141    <!-- @hide Allows an application to collect frame statistics -->
2142    <permission android:name="android.permission.FRAME_STATS"
2143         android:label="@string/permlab_frameStats"
2144         android:description="@string/permdesc_frameStats"
2145         android:protectionLevel="signature" />
2146
2147    <!-- @hide Allows an application to temporary enable accessibility on the device. -->
2148    <permission android:name="android.permission.TEMPORARY_ENABLE_ACCESSIBILITY"
2149        android:label="@string/permlab_temporary_enable_accessibility"
2150        android:description="@string/permdesc_temporary_enable_accessibility"
2151        android:protectionLevel="signature" />
2152
2153    <!-- Allows an application to watch and control how activities are
2154         started globally in the system.  Only for is in debugging
2155         (usually the monkey command).
2156         <p>Not for use by third-party applications. -->
2157    <permission android:name="android.permission.SET_ACTIVITY_WATCHER"
2158        android:label="@string/permlab_runSetActivityWatcher"
2159        android:description="@string/permdesc_runSetActivityWatcher"
2160        android:protectionLevel="signature" />
2161
2162    <!-- @SystemApi Allows an application to call the activity manager shutdown() API
2163         to put the higher-level system there into a shutdown state.
2164         @hide -->
2165    <permission android:name="android.permission.SHUTDOWN"
2166        android:label="@string/permlab_shutdown"
2167        android:description="@string/permdesc_shutdown"
2168        android:protectionLevel="signature|system" />
2169
2170    <!-- @SystemApi Allows an application to tell the activity manager to temporarily
2171         stop application switches, putting it into a special mode that
2172         prevents applications from immediately switching away from some
2173         critical UI such as the home screen.
2174         @hide -->
2175    <permission android:name="android.permission.STOP_APP_SWITCHES"
2176        android:label="@string/permlab_stopAppSwitches"
2177        android:description="@string/permdesc_stopAppSwitches"
2178        android:protectionLevel="signature|system" />
2179
2180    <!-- Allows an application to retrieve private information about
2181         the current top activity, such as any assist context it can provide.
2182         <p>Not for use by third-party applications. -->
2183    <permission android:name="android.permission.GET_TOP_ACTIVITY_INFO"
2184        android:label="@string/permlab_getTopActivityInfo"
2185        android:description="@string/permdesc_getTopActivityInfo"
2186        android:protectionLevel="signature" />
2187
2188    <!-- Allows an application to retrieve the current state of keys and
2189         switches.
2190         <p>Not for use by third-party applications.
2191         @deprecated The API that used this permission has been removed. -->
2192    <permission android:name="android.permission.READ_INPUT_STATE"
2193        android:label="@string/permlab_readInputState"
2194        android:description="@string/permdesc_readInputState"
2195        android:protectionLevel="signature" />
2196
2197    <!-- Must be required by an {@link android.inputmethodservice.InputMethodService},
2198         to ensure that only the system can bind to it. -->
2199    <permission android:name="android.permission.BIND_INPUT_METHOD"
2200        android:label="@string/permlab_bindInputMethod"
2201        android:description="@string/permdesc_bindInputMethod"
2202        android:protectionLevel="signature" />
2203
2204    <!-- Must be required by an {@link android.accessibilityservice.AccessibilityService},
2205         to ensure that only the system can bind to it. -->
2206    <permission android:name="android.permission.BIND_ACCESSIBILITY_SERVICE"
2207        android:label="@string/permlab_bindAccessibilityService"
2208        android:description="@string/permdesc_bindAccessibilityService"
2209        android:protectionLevel="signature" />
2210
2211    <!-- Must be required by a {@link android.printservice.PrintService},
2212         to ensure that only the system can bind to it. -->
2213    <permission android:name="android.permission.BIND_PRINT_SERVICE"
2214        android:label="@string/permlab_bindPrintService"
2215        android:description="@string/permdesc_bindPrintService"
2216        android:protectionLevel="signature" />
2217
2218    <!-- Must be required by a {@link android.nfc.cardemulation.HostApduService}
2219         or {@link android.nfc.cardemulation.OffHostApduService} to ensure that only
2220         the system can bind to it. -->
2221    <permission android:name="android.permission.BIND_NFC_SERVICE"
2222        android:label="@string/permlab_bindNfcService"
2223        android:description="@string/permdesc_bindNfcService"
2224        android:protectionLevel="signature" />
2225
2226    <!-- Must be required by the PrintSpooler to ensure that only the system can bind to it.
2227         @hide -->
2228    <permission android:name="android.permission.BIND_PRINT_SPOOLER_SERVICE"
2229        android:label="@string/permlab_bindPrintSpoolerService"
2230        android:description="@string/permdesc_bindPrintSpoolerService"
2231        android:protectionLevel="signature" />
2232
2233    <!-- Must be required by a TextService (e.g. SpellCheckerService)
2234         to ensure that only the system can bind to it. -->
2235    <permission android:name="android.permission.BIND_TEXT_SERVICE"
2236        android:label="@string/permlab_bindTextService"
2237        android:description="@string/permdesc_bindTextService"
2238        android:protectionLevel="signature" />
2239
2240    <!-- Must be required by a {@link android.net.VpnService},
2241         to ensure that only the system can bind to it. -->
2242    <permission android:name="android.permission.BIND_VPN_SERVICE"
2243        android:label="@string/permlab_bindVpnService"
2244        android:description="@string/permdesc_bindVpnService"
2245        android:protectionLevel="signature" />
2246
2247    <!-- Must be required by a {@link android.service.wallpaper.WallpaperService},
2248         to ensure that only the system can bind to it. -->
2249    <permission android:name="android.permission.BIND_WALLPAPER"
2250        android:label="@string/permlab_bindWallpaper"
2251        android:description="@string/permdesc_bindWallpaper"
2252        android:protectionLevel="signature|system" />
2253
2254    <!-- Must be required by a {@link android.service.voice.VoiceInteractionService},
2255         to ensure that only the system can bind to it. -->
2256    <permission android:name="android.permission.BIND_VOICE_INTERACTION"
2257        android:label="@string/permlab_bindVoiceInteraction"
2258        android:description="@string/permdesc_bindVoiceInteraction"
2259        android:protectionLevel="signature" />
2260
2261    <!-- Must be required by hotword enrollment application,
2262         to ensure that only the system can interact with it.
2263         @hide <p>Not for use by third-party applications.</p> -->
2264    <permission android:name="android.permission.MANAGE_VOICE_KEYPHRASES"
2265        android:label="@string/permlab_manageVoiceKeyphrases"
2266        android:description="@string/permdesc_manageVoiceKeyphrases"
2267        android:protectionLevel="signature|system" />
2268
2269    <!-- Must be required by a {@link com.android.media.remotedisplay.RemoteDisplayProvider},
2270         to ensure that only the system can bind to it.
2271         @hide -->
2272    <permission android:name="android.permission.BIND_REMOTE_DISPLAY"
2273        android:label="@string/permlab_bindRemoteDisplay"
2274        android:description="@string/permdesc_bindRemoteDisplay"
2275        android:protectionLevel="signature" />
2276
2277    <!-- Must be required by a {@link android.media.tv.TvInputService}
2278         to ensure that only the system can bind to it. -->
2279    <permission android:name="android.permission.BIND_TV_INPUT"
2280        android:label="@string/permlab_bindTvInput"
2281        android:description="@string/permdesc_bindTvInput"
2282        android:protectionLevel="signature|system" />
2283
2284    <!-- @SystemApi Allows an application to modify parental controls
2285         <p>Not for use by third-party applications.
2286         @hide -->
2287    <permission android:name="android.permission.MODIFY_PARENTAL_CONTROLS"
2288        android:label="@string/permlab_modifyParentalControls"
2289        android:description="@string/permdesc_modifyParentalControls"
2290        android:protectionLevel="signature|system" />
2291
2292    <!-- Must be required by a {@link android.media.routing.MediaRouteService}
2293         to ensure that only the system can interact with it.
2294         @hide -->
2295    <permission android:name="android.permission.BIND_ROUTE_PROVIDER"
2296        android:label="@string/permlab_bindRouteProvider"
2297        android:description="@string/permdesc_bindRouteProvider"
2298        android:protectionLevel="signature" />
2299
2300    <!-- Must be required by device administration receiver, to ensure that only the
2301         system can interact with it. -->
2302    <permission android:name="android.permission.BIND_DEVICE_ADMIN"
2303        android:label="@string/permlab_bindDeviceAdmin"
2304        android:description="@string/permdesc_bindDeviceAdmin"
2305        android:protectionLevel="signature" />
2306
2307    <!-- @SystemApi Required to add or remove another application as a device admin.
2308         <p>Not for use by third-party applications.
2309         @hide -->
2310    <permission android:name="android.permission.MANAGE_DEVICE_ADMINS"
2311        android:label="@string/permlab_manageDeviceAdmins"
2312        android:description="@string/permdesc_manageDeviceAdmins"
2313        android:protectionLevel="signature|system" />
2314
2315    <!-- Allows low-level access to setting the orientation (actually
2316         rotation) of the screen.
2317         <p>Not for use by third-party applications. -->
2318    <permission android:name="android.permission.SET_ORIENTATION"
2319        android:label="@string/permlab_setOrientation"
2320        android:description="@string/permdesc_setOrientation"
2321        android:protectionLevel="signature" />
2322
2323    <!-- Allows low-level access to setting the pointer speed.
2324         <p>Not for use by third-party applications. -->
2325    <permission android:name="android.permission.SET_POINTER_SPEED"
2326        android:label="@string/permlab_setPointerSpeed"
2327        android:description="@string/permdesc_setPointerSpeed"
2328        android:protectionLevel="signature" />
2329
2330    <!-- Allows low-level access to setting input device calibration.
2331         <p>Not for use by normal applications.
2332         @hide -->
2333    <permission android:name="android.permission.SET_INPUT_CALIBRATION"
2334        android:label="@string/permlab_setInputCalibration"
2335        android:description="@string/permdesc_setInputCalibration"
2336        android:protectionLevel="signature" />
2337
2338    <!-- Allows low-level access to setting the keyboard layout.
2339         <p>Not for use by third-party applications.
2340         @hide -->
2341    <permission android:name="android.permission.SET_KEYBOARD_LAYOUT"
2342        android:label="@string/permlab_setKeyboardLayout"
2343        android:description="@string/permdesc_setKeyboardLayout"
2344        android:protectionLevel="signature" />
2345
2346    <!-- @SystemApi Allows an application to install packages.
2347    <p>Not for use by third-party applications. -->
2348    <permission android:name="android.permission.INSTALL_PACKAGES"
2349        android:label="@string/permlab_installPackages"
2350        android:description="@string/permdesc_installPackages"
2351        android:protectionLevel="signature|system" />
2352
2353    <!-- Allows an application to clear user data.
2354    <p>Not for use by third-party applications. -->
2355    <permission android:name="android.permission.CLEAR_APP_USER_DATA"
2356        android:label="@string/permlab_clearAppUserData"
2357        android:description="@string/permdesc_clearAppUserData"
2358        android:protectionLevel="signature" />
2359
2360    <!-- @SystemApi Allows an application to delete cache files.
2361    <p>Not for use by third-party applications. -->
2362    <permission android:name="android.permission.DELETE_CACHE_FILES"
2363        android:label="@string/permlab_deleteCacheFiles"
2364        android:description="@string/permdesc_deleteCacheFiles"
2365        android:protectionLevel="signature|system" />
2366
2367    <!-- @SystemApi Allows an application to delete packages.
2368    <p>Not for use by third-party applications. -->
2369    <permission android:name="android.permission.DELETE_PACKAGES"
2370        android:label="@string/permlab_deletePackages"
2371        android:description="@string/permdesc_deletePackages"
2372        android:protectionLevel="signature|system" />
2373
2374    <!-- @SystemApi Allows an application to move location of installed package.
2375         @hide -->
2376    <permission android:name="android.permission.MOVE_PACKAGE"
2377        android:label="@string/permlab_movePackage"
2378        android:description="@string/permdesc_movePackage"
2379        android:protectionLevel="signature|system" />
2380
2381    <!-- @SystemApi Allows an application to change whether an application component (other than its own) is
2382         enabled or not.
2383         <p>Not for use by third-party applications. -->
2384    <permission android:name="android.permission.CHANGE_COMPONENT_ENABLED_STATE"
2385        android:label="@string/permlab_changeComponentState"
2386        android:description="@string/permdesc_changeComponentState"
2387        android:protectionLevel="signature|system" />
2388
2389    <!-- @hide Allows an application to grant or revoke specific permissions. -->
2390    <permission android:name="android.permission.GRANT_REVOKE_PERMISSIONS"
2391        android:label="@string/permlab_grantRevokePermissions"
2392        android:description="@string/permdesc_grantRevokePermissions"
2393        android:protectionLevel="signature" />
2394
2395    <!-- Allows an application to use SurfaceFlinger's low level features.
2396    <p>Not for use by third-party applications. -->
2397    <permission android:name="android.permission.ACCESS_SURFACE_FLINGER"
2398        android:label="@string/permlab_accessSurfaceFlinger"
2399        android:description="@string/permdesc_accessSurfaceFlinger"
2400        android:protectionLevel="signature" />
2401
2402    <!-- @SystemApi Allows an application to take screen shots and more generally
2403         get access to the frame buffer data.
2404         <p>Not for use by third-party applications. -->
2405    <permission android:name="android.permission.READ_FRAME_BUFFER"
2406        android:label="@string/permlab_readFrameBuffer"
2407        android:description="@string/permdesc_readFrameBuffer"
2408        android:protectionLevel="signature|system" />
2409
2410    <!-- Allows an application to use InputFlinger's low level features.
2411         @hide -->
2412    <permission android:name="android.permission.ACCESS_INPUT_FLINGER"
2413        android:label="@string/permlab_accessInputFlinger"
2414        android:description="@string/permdesc_accessInputFlinger"
2415        android:protectionLevel="signature" />
2416
2417    <!-- Allows an application to configure and connect to Wifi displays
2418         @hide -->
2419    <permission android:name="android.permission.CONFIGURE_WIFI_DISPLAY"
2420        android:label="@string/permlab_configureWifiDisplay"
2421        android:description="@string/permdesc_configureWifiDisplay"
2422        android:protectionLevel="signature" />
2423
2424    <!-- Allows an application to control low-level features of Wifi displays
2425         such as opening an RTSP socket.  This permission should only be used
2426         by the display manager.
2427         @hide -->
2428    <permission android:name="android.permission.CONTROL_WIFI_DISPLAY"
2429        android:label="@string/permlab_controlWifiDisplay"
2430        android:description="@string/permdesc_controlWifiDisplay"
2431        android:protectionLevel="signature" />
2432
2433    <!-- @SystemApi Allows an application to capture audio output.
2434         <p>Not for use by third-party applications.</p> -->
2435    <permission android:name="android.permission.CAPTURE_AUDIO_OUTPUT"
2436        android:label="@string/permlab_captureAudioOutput"
2437        android:description="@string/permdesc_captureAudioOutput"
2438        android:protectionLevel="signature|system" />
2439
2440    <!-- @SystemApi Allows an application to capture audio for hotword detection.
2441         <p>Not for use by third-party applications.</p>
2442         @hide -->
2443    <permission android:name="android.permission.CAPTURE_AUDIO_HOTWORD"
2444        android:label="@string/permlab_captureAudioHotword"
2445        android:description="@string/permdesc_captureAudioHotword"
2446        android:protectionLevel="signature|system" />
2447
2448    <!-- @SystemApi Allows an application to modify audio routing and override policy decisions.
2449         <p>Not for use by third-party applications.</p>
2450         @hide -->
2451    <permission android:name="android.permission.MODIFY_AUDIO_ROUTING"
2452        android:label="@string/permlab_modifyAudioRouting"
2453        android:description="@string/permdesc_modifyAudioRouting"
2454        android:protectionLevel="signature|system" />
2455
2456    <!-- @SystemApi Allows an application to capture video output.
2457         <p>Not for use by third-party applications.</p> -->
2458    <permission android:name="android.permission.CAPTURE_VIDEO_OUTPUT"
2459        android:label="@string/permlab_captureVideoOutput"
2460        android:description="@string/permdesc_captureVideoOutput"
2461        android:protectionLevel="signature|system" />
2462
2463    <!-- @SystemApi Allows an application to capture secure video output.
2464         <p>Not for use by third-party applications.</p> -->
2465    <permission android:name="android.permission.CAPTURE_SECURE_VIDEO_OUTPUT"
2466        android:label="@string/permlab_captureSecureVideoOutput"
2467        android:description="@string/permdesc_captureSecureVideoOutput"
2468        android:protectionLevel="signature|system" />
2469
2470    <!-- @SystemApi Allows an application to know what content is playing and control its playback.
2471         <p>Not for use by third-party applications due to privacy of media consumption</p>  -->
2472    <permission android:name="android.permission.MEDIA_CONTENT_CONTROL"
2473        android:label="@string/permlab_mediaContentControl"
2474        android:description="@string/permdesc_mediaContentControl"
2475        android:protectionLevel="signature|system" />
2476
2477    <!-- Required to be able to disable the device (very dangerous!).
2478    <p>Not for use by third-party applications.. -->
2479    <permission android:name="android.permission.BRICK"
2480        android:label="@string/permlab_brick"
2481        android:description="@string/permdesc_brick"
2482        android:protectionLevel="signature" />
2483
2484    <!-- @SystemApi Required to be able to reboot the device.
2485    <p>Not for use by third-party applications. -->
2486    <permission android:name="android.permission.REBOOT"
2487        android:label="@string/permlab_reboot"
2488        android:description="@string/permdesc_reboot"
2489        android:protectionLevel="signature|system" />
2490
2491   <!-- Allows low-level access to power management.
2492   <p>Not for use by third-party applications. -->
2493    <permission android:name="android.permission.DEVICE_POWER"
2494        android:label="@string/permlab_devicePower"
2495        android:description="@string/permdesc_devicePower"
2496        android:protectionLevel="signature" />
2497
2498   <!-- Allows access to the PowerManager.userActivity function.
2499   <p>Not for use by third-party applications. @hide @SystemApi -->
2500    <permission android:name="android.permission.USER_ACTIVITY"
2501        android:label="@string/permlab_userActivity"
2502        android:description="@string/permdesc_userActivity"
2503        android:protectionLevel="signature|system" />
2504
2505   <!-- @hide Allows low-level access to tun tap driver -->
2506    <permission android:name="android.permission.NET_TUNNELING"
2507        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
2508        android:protectionLevel="signature" />
2509
2510    <!-- Run as a manufacturer test application, running as the root user.
2511         Only available when the device is running in manufacturer test mode.
2512         <p>Not for use by third-party applications. -->
2513    <permission android:name="android.permission.FACTORY_TEST"
2514        android:label="@string/permlab_factoryTest"
2515        android:description="@string/permdesc_factoryTest"
2516        android:protectionLevel="signature" />
2517
2518    <!-- Allows an application to broadcast a notification that an application
2519         package has been removed.
2520         <p>Not for use by third-party applications. -->
2521    <permission android:name="android.permission.BROADCAST_PACKAGE_REMOVED"
2522        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
2523        android:label="@string/permlab_broadcastPackageRemoved"
2524        android:description="@string/permdesc_broadcastPackageRemoved"
2525        android:protectionLevel="signature" />
2526
2527    <!-- Allows an application to broadcast an SMS receipt notification.
2528    <p>Not for use by third-party applications. -->
2529    <permission android:name="android.permission.BROADCAST_SMS"
2530        android:permissionGroup="android.permission-group.MESSAGES"
2531        android:label="@string/permlab_broadcastSmsReceived"
2532        android:description="@string/permdesc_broadcastSmsReceived"
2533        android:protectionLevel="signature" />
2534
2535    <!-- Allows an application to broadcast a WAP PUSH receipt notification.
2536    <p>Not for use by third-party applications. -->
2537    <permission android:name="android.permission.BROADCAST_WAP_PUSH"
2538        android:permissionGroup="android.permission-group.MESSAGES"
2539        android:label="@string/permlab_broadcastWapPush"
2540        android:description="@string/permdesc_broadcastWapPush"
2541        android:protectionLevel="signature" />
2542
2543    <!-- @SystemApi Allows an application to broadcast privileged networking requests.
2544         <p>Not for use by third-party applications. @hide -->
2545    <permission android:name="android.permission.BROADCAST_NETWORK_PRIVILEGED"
2546        android:permissionGroup="android.permission-group.NETWORK"
2547        android:label="@string/permlab_broadcastNetworkPrivileged"
2548        android:description="@string/permdesc_broadcastNetworkPrivileged"
2549        android:protectionLevel="signature|system" />
2550
2551    <!-- @SystemApi Not for use by third-party applications. -->
2552    <permission android:name="android.permission.MASTER_CLEAR"
2553        android:label="@string/permlab_masterClear"
2554        android:description="@string/permdesc_masterClear"
2555        android:protectionLevel="signature|system" />
2556
2557    <!-- @SystemApi Allows an application to call any phone number, including emergency
2558         numbers, without going through the Dialer user interface for the user
2559         to confirm the call being placed.
2560         <p>Not for use by third-party applications. -->
2561    <permission android:name="android.permission.CALL_PRIVILEGED"
2562        android:label="@string/permlab_callPrivileged"
2563        android:description="@string/permdesc_callPrivileged"
2564        android:protectionLevel="signature|system" />
2565
2566    <!-- @SystemApi Allows an application to perform CDMA OTA provisioning @hide -->
2567    <permission android:name="android.permission.PERFORM_CDMA_PROVISIONING"
2568        android:label="@string/permlab_performCdmaProvisioning"
2569        android:description="@string/permdesc_performCdmaProvisioning"
2570        android:protectionLevel="signature|system" />
2571
2572    <!-- @SystemApi Allows enabling/disabling location update notifications from
2573         the radio.
2574         <p>Not for use by third-party applications. -->
2575    <permission android:name="android.permission.CONTROL_LOCATION_UPDATES"
2576        android:label="@string/permlab_locationUpdates"
2577        android:description="@string/permdesc_locationUpdates"
2578        android:protectionLevel="signature|system" />
2579
2580    <!-- @SystemApi Allows read/write access to the "properties" table in the checkin
2581         database, to change values that get uploaded.
2582         <p>Not for use by third-party applications. -->
2583    <permission android:name="android.permission.ACCESS_CHECKIN_PROPERTIES"
2584        android:label="@string/permlab_checkinProperties"
2585        android:description="@string/permdesc_checkinProperties"
2586        android:protectionLevel="signature|system" />
2587
2588    <!-- @SystemApi Allows an application to collect component usage
2589         statistics @hide -->
2590    <permission android:name="android.permission.PACKAGE_USAGE_STATS"
2591        android:label="@string/permlab_pkgUsageStats"
2592        android:description="@string/permdesc_pkgUsageStats"
2593        android:protectionLevel="signature|development|appop" />
2594    <uses-permission android:name="android.permission.PACKAGE_USAGE_STATS" />
2595
2596    <!-- @SystemApi Allows an application to collect battery statistics -->
2597    <permission android:name="android.permission.BATTERY_STATS"
2598        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
2599        android:label="@string/permlab_batteryStats"
2600        android:description="@string/permdesc_batteryStats"
2601        android:protectionLevel="signature|system|development" />
2602
2603    <!-- @SystemApi Allows an application to control the backup and restore process.
2604    <p>Not for use by third-party applications.
2605         @hide pending API council -->
2606    <permission android:name="android.permission.BACKUP"
2607        android:label="@string/permlab_backup"
2608        android:description="@string/permdesc_backup"
2609        android:protectionLevel="signature|system" />
2610
2611    <!-- Allows a package to launch the secure full-backup confirmation UI.
2612         ONLY the system process may hold this permission.
2613         @hide -->
2614    <permission android:name="android.permission.CONFIRM_FULL_BACKUP"
2615        android:label="@string/permlab_confirm_full_backup"
2616        android:description="@string/permdesc_confirm_full_backup"
2617        android:protectionLevel="signature" />
2618
2619    <!-- @SystemApi Must be required by a {@link android.widget.RemoteViewsService},
2620         to ensure that only the system can bind to it. -->
2621    <permission android:name="android.permission.BIND_REMOTEVIEWS"
2622        android:label="@string/permlab_bindRemoteViews"
2623        android:description="@string/permdesc_bindRemoteViews"
2624        android:protectionLevel="signature|system" />
2625
2626    <!-- @SystemApi Allows an application to tell the AppWidget service which application
2627         can access AppWidget's data.  The normal user flow is that a user
2628         picks an AppWidget to go into a particular host, thereby giving that
2629         host application access to the private data from the AppWidget app.
2630         An application that has this permission should honor that contract.
2631         <p>Not for use by third-party applications. -->
2632    <permission android:name="android.permission.BIND_APPWIDGET"
2633        android:permissionGroup="android.permission-group.PERSONAL_INFO"
2634        android:label="@string/permlab_bindGadget"
2635        android:description="@string/permdesc_bindGadget"
2636        android:protectionLevel="signature|system" />
2637
2638    <!-- @SystemApi Private permission, to restrict who can bring up a dialog to add a new
2639         keyguard widget
2640         @hide -->
2641    <permission android:name="android.permission.BIND_KEYGUARD_APPWIDGET"
2642        android:permissionGroup="android.permission-group.PERSONAL_INFO"
2643        android:protectionLevel="signature|system" />
2644
2645    <!-- @SystemApi Internal permission allowing an application to query/set which
2646         applications can bind AppWidgets.
2647         @hide -->
2648    <permission android:name="android.permission.MODIFY_APPWIDGET_BIND_PERMISSIONS"
2649        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
2650        android:protectionLevel="signature|system" />
2651
2652    <!-- Allows applications to change the background data setting.
2653    <p>Not for use by third-party applications.
2654         @hide pending API council -->
2655    <permission android:name="android.permission.CHANGE_BACKGROUND_DATA_SETTING"
2656        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
2657        android:protectionLevel="signature"
2658        android:description="@string/permdesc_changeBackgroundDataSetting"
2659        android:label="@string/permlab_changeBackgroundDataSetting" />
2660
2661    <!-- @SystemApi This permission can be used on content providers to allow the global
2662         search system to access their data.  Typically it used when the
2663         provider has some permissions protecting it (which global search
2664         would not be expected to hold), and added as a read-only permission
2665         to the path in the provider where global search queries are
2666         performed.  This permission can not be held by regular applications;
2667         it is used by applications to protect themselves from everyone else
2668         besides global search. -->
2669    <permission android:name="android.permission.GLOBAL_SEARCH"
2670        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
2671        android:protectionLevel="signature|system" />
2672
2673    <!-- Internal permission protecting access to the global search
2674         system: ensures that only the system can access the provider
2675         to perform queries (since this otherwise provides unrestricted
2676         access to a variety of content providers), and to write the
2677         search statistics (to keep applications from gaming the source
2678         ranking).
2679         @hide -->
2680    <permission android:name="android.permission.GLOBAL_SEARCH_CONTROL"
2681        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
2682        android:protectionLevel="signature" />
2683
2684    <!-- @SystemApi Internal permission to allows an application to read indexable data.
2685        @hide -->
2686    <permission android:name="android.permission.READ_SEARCH_INDEXABLES"
2687        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
2688        android:protectionLevel="signature|system" />
2689
2690    <!-- @SystemApi Allows applications to set a live wallpaper.
2691         @hide XXX Change to signature once the picker is moved to its
2692         own apk as Ghod Intended. -->
2693    <permission android:name="android.permission.SET_WALLPAPER_COMPONENT"
2694        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
2695        android:protectionLevel="signature|system" />
2696
2697    <!-- @SystemApi Allows applications to read dream settings and dream state.
2698         @hide -->
2699    <permission android:name="android.permission.READ_DREAM_STATE"
2700        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
2701        android:protectionLevel="signature|system" />
2702
2703    <!-- @SystemApi Allows applications to write dream settings, and start or stop dreaming.
2704         @hide -->
2705    <permission android:name="android.permission.WRITE_DREAM_STATE"
2706        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
2707        android:protectionLevel="signature|system" />
2708
2709    <!-- @SystemApi Allow an application to read and write the cache partition.
2710         @hide -->
2711    <permission android:name="android.permission.ACCESS_CACHE_FILESYSTEM"
2712        android:label="@string/permlab_cache_filesystem"
2713        android:description="@string/permdesc_cache_filesystem"
2714        android:protectionLevel="signature|system" />
2715
2716    <!-- Must be required by default container service so that only
2717         the system can bind to it and use it to copy
2718         protected data to secure containers or files
2719         accessible to the system.
2720         @hide -->
2721    <permission android:name="android.permission.COPY_PROTECTED_DATA"
2722        android:label="@string/permlab_copyProtectedData"
2723        android:description="@string/permlab_copyProtectedData"
2724        android:protectionLevel="signature" />
2725
2726    <!-- @SystemApi Internal permission protecting access to the encryption methods
2727        @hide
2728    -->
2729    <permission android:name="android.permission.CRYPT_KEEPER"
2730        android:protectionLevel="signature|system" />
2731
2732    <!-- @SystemApi Allows an application to read historical network usage for
2733         specific networks and applications. @hide -->
2734    <permission android:name="android.permission.READ_NETWORK_USAGE_HISTORY"
2735        android:label="@string/permlab_readNetworkUsageHistory"
2736        android:description="@string/permdesc_readNetworkUsageHistory"
2737        android:protectionLevel="signature|system" />
2738
2739    <!-- Allows an application to manage network policies (such as warning and disable
2740         limits) and to define application-specific rules. @hide -->
2741    <permission android:name="android.permission.MANAGE_NETWORK_POLICY"
2742        android:label="@string/permlab_manageNetworkPolicy"
2743        android:description="@string/permdesc_manageNetworkPolicy"
2744        android:protectionLevel="signature" />
2745
2746    <!-- @SystemApi Allows an application to account its network traffic against other UIDs. Used
2747         by system services like download manager and media server. Not for use by
2748         third party apps. @hide -->
2749    <permission android:name="android.permission.MODIFY_NETWORK_ACCOUNTING"
2750        android:label="@string/permlab_modifyNetworkAccounting"
2751        android:description="@string/permdesc_modifyNetworkAccounting"
2752        android:protectionLevel="signature|system" />
2753
2754    <!-- C2DM permission.
2755         @hide Used internally.
2756     -->
2757    <permission android:name="android.intent.category.MASTER_CLEAR.permission.C2D_MESSAGE"
2758          android:protectionLevel="signature" />
2759    <uses-permission android:name="android.intent.category.MASTER_CLEAR.permission.C2D_MESSAGE"/>
2760
2761    <!-- @SystemApi @hide Package verifier needs to have this permission before the PackageManager will
2762         trust it to verify packages.
2763    -->
2764    <permission android:name="android.permission.PACKAGE_VERIFICATION_AGENT"
2765        android:label="@string/permlab_packageVerificationAgent"
2766        android:description="@string/permdesc_packageVerificationAgent"
2767        android:protectionLevel="signature|system" />
2768
2769    <!-- Must be required by package verifier receiver, to ensure that only the
2770         system can interact with it.
2771         @hide
2772    -->
2773    <permission android:name="android.permission.BIND_PACKAGE_VERIFIER"
2774        android:label="@string/permlab_bindPackageVerifier"
2775        android:description="@string/permdesc_bindPackageVerifier"
2776        android:protectionLevel="signature" />
2777
2778    <!-- @SystemApi Allows applications to access serial ports via the SerialManager.
2779         @hide -->
2780    <permission android:name="android.permission.SERIAL_PORT"
2781        android:label="@string/permlab_serialPort"
2782        android:description="@string/permdesc_serialPort"
2783        android:protectionLevel="signature|system" />
2784
2785    <!-- Allows the holder to access content providers from outside an ApplicationThread.
2786         This permission is enforced by the ActivityManagerService on the corresponding APIs,
2787         in particular ActivityManagerService#getContentProviderExternal(String) and
2788         ActivityManagerService#removeContentProviderExternal(String).
2789         @hide
2790    -->
2791    <permission android:name="android.permission.ACCESS_CONTENT_PROVIDERS_EXTERNALLY"
2792        android:label="@string/permlab_accessContentProvidersExternally"
2793        android:description="@string/permdesc_accessContentProvidersExternally"
2794        android:protectionLevel="signature" />
2795
2796    <!-- @SystemApi Allows an application to hold an UpdateLock, recommending that a headless
2797         OTA reboot *not* occur while the lock is held.
2798         @hide -->
2799    <permission android:name="android.permission.UPDATE_LOCK"
2800        android:label="@string/permlab_updateLock"
2801        android:description="@string/permdesc_updateLock"
2802        android:protectionLevel="signatureOrSystem" />
2803
2804    <!-- @SystemApi Allows an application to read the current set of notifications, including
2805         any metadata and intents attached.
2806         @hide -->
2807    <permission android:name="android.permission.ACCESS_NOTIFICATIONS"
2808        android:label="@string/permlab_accessNotifications"
2809        android:description="@string/permdesc_accessNotifications"
2810        android:protectionLevel="signature|system" />
2811
2812    <!-- Allows access to keyguard secure storage.  Only allowed for system processes.
2813        @hide -->
2814    <permission android:name="android.permission.ACCESS_KEYGUARD_SECURE_STORAGE"
2815        android:protectionLevel="signature"
2816        android:label="@string/permlab_access_keyguard_secure_storage"
2817        android:description="@string/permdesc_access_keyguard_secure_storage" />
2818
2819    <!-- Allows an application to control keyguard.  Only allowed for system processes.
2820        @hide -->
2821    <permission android:name="android.permission.CONTROL_KEYGUARD"
2822        android:protectionLevel="signature"
2823        android:label="@string/permlab_control_keyguard"
2824        android:description="@string/permdesc_control_keyguard" />
2825
2826    <!-- Allows an application to listen to trust changes.  Only allowed for system processes.
2827        @hide -->
2828    <permission android:name="android.permission.TRUST_LISTENER"
2829                android:protectionLevel="signature"
2830                android:label="@string/permlab_trust_listener"
2831                android:description="@string/permdesc_trust_listener" />
2832
2833    <!-- @SystemApi Allows an application to provide a trust agent.
2834         @hide For security reasons, this is a platform-only permission. -->
2835    <permission android:name="android.permission.PROVIDE_TRUST_AGENT"
2836                android:protectionLevel="signatureOrSystem"
2837                android:label="@string/permlab_provide_trust_agent"
2838                android:description="@string/permdesc_provide_trust_agent" />
2839
2840    <!-- Allows an application to launch the trust agent settings activity.
2841        @hide -->
2842    <permission android:name="android.permission.LAUNCH_TRUST_AGENT_SETTINGS"
2843        android:protectionLevel="signatureOrSystem"
2844        android:label="@string/permlab_launch_trust_agent_settings"
2845        android:description="@string/permdesc_launch_trust_agent_settings" />
2846
2847    <!-- @SystemApi Must be required by an {@link
2848        android.service.trust.TrustAgentService},
2849        to ensure that only the system can bind to it.
2850        @hide -->
2851    <permission android:name="android.permission.BIND_TRUST_AGENT"
2852                android:protectionLevel="signature"
2853                android:label="@string/permlab_bind_trust_agent_service"
2854                android:description="@string/permdesc_bind_trust_agent_service" />
2855
2856    <!-- Must be required by an {@link
2857         android.service.notification.NotificationListenerService},
2858         to ensure that only the system can bind to it. -->
2859    <permission android:name="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE"
2860        android:label="@string/permlab_bindNotificationListenerService"
2861        android:description="@string/permdesc_bindNotificationListenerService"
2862        android:protectionLevel="signature" />
2863
2864    <!-- @SystemApi Must be required by a {@link
2865         android.service.notification.ConditionProviderService},
2866         to ensure that only the system can bind to it.
2867         @hide -->
2868    <permission android:name="android.permission.BIND_CONDITION_PROVIDER_SERVICE"
2869        android:label="@string/permlab_bindConditionProviderService"
2870        android:description="@string/permdesc_bindConditionProviderService"
2871        android:protectionLevel="signature" />
2872
2873    <!-- Must be required by a {@link android.media.routing.MediaRouteService},
2874         to ensure that only the system can bind to it. -->
2875    <permission android:name="android.permission.BIND_MEDIA_ROUTE_SERVICE"
2876        android:label="@string/permlab_bindMediaRouteService"
2877        android:description="@string/permdesc_bindMediaRouteService"
2878        android:protectionLevel="signature" />
2879
2880    <!-- Must be required by an {@link android.service.dreams.DreamService},
2881         to ensure that only the system can bind to it. -->
2882    <permission android:name="android.permission.BIND_DREAM_SERVICE"
2883        android:label="@string/permlab_bindDreamService"
2884        android:description="@string/permdesc_bindDreamService"
2885        android:protectionLevel="signature" />
2886
2887    <!-- @SystemApi Allows an application to call into a carrier setup flow. It is up to the
2888         carrier setup application to enforce that this permission is required
2889         @hide This is not a third-party API (intended for OEMs and system apps). -->
2890    <permission android:name="android.permission.INVOKE_CARRIER_SETUP"
2891        android:label="@string/permlab_invokeCarrierSetup"
2892        android:description="@string/permdesc_invokeCarrierSetup"
2893        android:protectionLevel="signature|system" />
2894
2895    <!-- @SystemApi Allows an application to listen for network condition observations.
2896         @hide This is not a third-party API (intended for system apps). -->
2897    <permission android:name="android.permission.ACCESS_NETWORK_CONDITIONS"
2898        android:label="@string/permlab_accessNetworkConditions"
2899        android:description="@string/permdesc_accessNetworkConditions"
2900        android:protectionLevel="signature|system" />
2901
2902    <!-- @SystemApi Allows an application to provision and access DRM certificates
2903         @hide This is not a third-party API (intended for system apps). -->
2904    <permission android:name="android.permission.ACCESS_DRM_CERTIFICATES"
2905        android:label="@string/permlab_accessDrmCertificates"
2906        android:description="@string/permdesc_accessDrmCertificates"
2907        android:protectionLevel="signature|system" />
2908
2909    <!-- Api Allows an application to manage media projection sessions.
2910         @hide This is not a third-party API (intended for system apps). -->
2911    <permission android:name="android.permission.MANAGE_MEDIA_PROJECTION"
2912        android:label="@string/permlab_manageMediaProjection"
2913        android:description="@string/permdesc_manageMediaProjection"
2914        android:protectionLevel="signature" />
2915
2916    <!-- @SystemApi Allows an application to read install sessions
2917         @hide This is not a third-party API (intended for system apps). -->
2918    <permission android:name="android.permission.READ_INSTALL_SESSIONS"
2919        android:label="@string/permlab_readInstallSessions"
2920        android:description="@string/permdesc_readInstallSessions" />
2921
2922    <!-- @SystemApi Allows an application to remove DRM certificates
2923         @hide This is not a third-party API (intended for system apps). -->
2924    <permission android:name="android.permission.REMOVE_DRM_CERTIFICATES"
2925        android:label="@string/permlab_removeDrmCertificates"
2926        android:description="@string/permdesc_removeDrmCertificates"
2927        android:protectionLevel="signature|system" />
2928
2929    <!-- The system process is explicitly the only one allowed to launch the
2930         confirmation UI for full backup/restore -->
2931    <uses-permission android:name="android.permission.CONFIRM_FULL_BACKUP"/>
2932
2933    <application android:process="system"
2934                 android:persistent="true"
2935                 android:hasCode="false"
2936                 android:label="@string/android_system_label"
2937                 android:allowClearUserData="false"
2938                 android:backupAgent="com.android.server.backup.SystemBackupAgent"
2939                 android:killAfterRestore="false"
2940                 android:icon="@drawable/ic_launcher_android"
2941                 android:supportsRtl="true">
2942        <activity android:name="com.android.internal.app.ChooserActivity"
2943                android:theme="@style/Theme.DeviceDefault.Resolver"
2944                android:finishOnCloseSystemDialogs="true"
2945                android:excludeFromRecents="true"
2946                android:documentLaunchMode="never"
2947                android:relinquishTaskIdentity="true"
2948                android:process=":ui">
2949            <intent-filter>
2950                <action android:name="android.intent.action.CHOOSER" />
2951                <category android:name="android.intent.category.DEFAULT" />
2952            </intent-filter>
2953        </activity>
2954        <activity android:name="com.android.internal.app.IntentForwarderActivity"
2955                android:finishOnCloseSystemDialogs="true"
2956                android:theme="@style/Theme.NoDisplay"
2957                android:excludeFromRecents="true"
2958                android:label="@string/user_owner_label"
2959                android:exported="true"
2960                >
2961        </activity>
2962        <activity-alias android:name="com.android.internal.app.ForwardIntentToUserOwner"
2963                android:targetActivity="com.android.internal.app.IntentForwarderActivity"
2964                android:exported="true"
2965                android:label="@string/user_owner_label">
2966        </activity-alias>
2967        <activity-alias android:name="com.android.internal.app.ForwardIntentToManagedProfile"
2968                android:targetActivity="com.android.internal.app.IntentForwarderActivity"
2969                android:icon="@drawable/ic_corp_icon"
2970                android:exported="true"
2971                android:label="@string/managed_profile_label">
2972        </activity-alias>
2973        <activity android:name="com.android.internal.app.HeavyWeightSwitcherActivity"
2974                android:theme="@style/Theme.Material.Dialog"
2975                android:label="@string/heavy_weight_switcher_title"
2976                android:finishOnCloseSystemDialogs="true"
2977                android:excludeFromRecents="true"
2978                android:process=":ui">
2979        </activity>
2980        <activity android:name="com.android.internal.app.PlatLogoActivity"
2981                android:theme="@style/Theme.Wallpaper.NoTitleBar.Fullscreen"
2982                android:configChanges="orientation|keyboardHidden"
2983                android:process=":ui">
2984        </activity>
2985        <activity android:name="com.android.internal.app.DisableCarModeActivity"
2986                android:theme="@style/Theme.NoDisplay"
2987                android:excludeFromRecents="true"
2988                android:process=":ui">
2989        </activity>
2990
2991        <activity android:name="android.accounts.ChooseAccountActivity"
2992                android:excludeFromRecents="true"
2993                android:exported="true"
2994                android:theme="@android:style/Theme.Material.Dialog"
2995                android:label="@string/choose_account_label"
2996                android:process=":ui">
2997        </activity>
2998
2999        <activity android:name="android.accounts.ChooseTypeAndAccountActivity"
3000                android:excludeFromRecents="true"
3001                android:exported="true"
3002                android:theme="@android:style/Theme.Material.Dialog"
3003                android:label="@string/choose_account_label"
3004                android:process=":ui">
3005        </activity>
3006
3007        <activity android:name="android.accounts.ChooseAccountTypeActivity"
3008                android:excludeFromRecents="true"
3009                android:theme="@android:style/Theme.Material.Dialog"
3010                android:label="@string/choose_account_label"
3011                android:process=":ui">
3012        </activity>
3013
3014        <activity android:name="android.accounts.CantAddAccountActivity"
3015                android:excludeFromRecents="true"
3016                android:exported="true"
3017                android:theme="@android:style/Theme.Material.Dialog.NoActionBar"
3018                android:process=":ui">
3019        </activity>
3020
3021        <activity android:name="android.accounts.GrantCredentialsPermissionActivity"
3022                android:excludeFromRecents="true"
3023                android:exported="true"
3024                android:theme="@android:style/Theme.Material.DialogWhenLarge"
3025                android:process=":ui">
3026        </activity>
3027
3028        <activity android:name="android.content.SyncActivityTooManyDeletes"
3029               android:theme="@android:style/Theme.Holo.Dialog"
3030               android:label="@string/sync_too_many_deletes"
3031               android:process=":ui">
3032        </activity>
3033
3034        <activity android:name="com.android.server.ShutdownActivity"
3035            android:permission="android.permission.SHUTDOWN"
3036            android:excludeFromRecents="true">
3037            <intent-filter>
3038                <action android:name="android.intent.action.ACTION_REQUEST_SHUTDOWN" />
3039                <category android:name="android.intent.category.DEFAULT" />
3040            </intent-filter>
3041            <intent-filter>
3042                <action android:name="android.intent.action.REBOOT" />
3043                <category android:name="android.intent.category.DEFAULT" />
3044            </intent-filter>
3045        </activity>
3046
3047        <activity android:name="com.android.internal.app.NetInitiatedActivity"
3048                android:theme="@style/Theme.Holo.Dialog.Alert"
3049                android:excludeFromRecents="true"
3050                android:process=":ui">
3051        </activity>
3052
3053        <activity android:name="com.android.internal.app.RestrictionsPinActivity"
3054                android:theme="@style/Theme.Material.Light.Dialog.Alert"
3055                android:excludeFromRecents="true"
3056                android:windowSoftInputMode="adjustPan"
3057                android:process=":ui">
3058            <intent-filter android:priority="100">
3059                <action android:name="android.intent.action.RESTRICTIONS_CHALLENGE" />
3060                <category android:name="android.intent.category.DEFAULT" />
3061            </intent-filter>
3062        </activity>
3063
3064        <receiver android:name="com.android.server.BootReceiver"
3065                android:primaryUserOnly="true">
3066            <intent-filter android:priority="1000">
3067                <action android:name="android.intent.action.BOOT_COMPLETED" />
3068            </intent-filter>
3069        </receiver>
3070
3071        <receiver android:name="com.android.server.updates.CertPinInstallReceiver" >
3072            <intent-filter>
3073                <action android:name="android.intent.action.UPDATE_PINS" />
3074                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
3075            </intent-filter>
3076        </receiver>
3077
3078        <receiver android:name="com.android.server.updates.IntentFirewallInstallReceiver" >
3079            <intent-filter>
3080                <action android:name="android.intent.action.UPDATE_INTENT_FIREWALL" />
3081                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
3082            </intent-filter>
3083        </receiver>
3084
3085        <receiver android:name="com.android.server.updates.SmsShortCodesInstallReceiver" >
3086            <intent-filter>
3087                <action android:name="android.intent.action.UPDATE_SMS_SHORT_CODES" />
3088                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
3089            </intent-filter>
3090        </receiver>
3091
3092        <receiver android:name="com.android.server.updates.CarrierProvisioningUrlsInstallReceiver" >
3093            <intent-filter>
3094                <action android:name="android.intent.action.UPDATE_CARRIER_PROVISIONING_URLS" />
3095                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
3096            </intent-filter>
3097        </receiver>
3098
3099        <receiver android:name="com.android.server.updates.TZInfoInstallReceiver" >
3100            <intent-filter>
3101                <action android:name="android.intent.action.UPDATE_TZINFO" />
3102                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
3103            </intent-filter>
3104        </receiver>
3105
3106        <receiver android:name="com.android.server.updates.SELinuxPolicyInstallReceiver" >
3107            <intent-filter>
3108                <action android:name="android.intent.action.UPDATE_SEPOLICY" />
3109                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
3110            </intent-filter>
3111        </receiver>
3112
3113        <receiver android:name="com.android.server.MasterClearReceiver"
3114            android:permission="android.permission.MASTER_CLEAR">
3115            <intent-filter
3116                    android:priority="100" >
3117                <!-- For Checkin, Settings, etc.: action=MASTER_CLEAR -->
3118                <action android:name="android.intent.action.MASTER_CLEAR" />
3119
3120                <!-- MCS always uses REMOTE_INTENT: category=MASTER_CLEAR -->
3121                <action android:name="com.google.android.c2dm.intent.RECEIVE" />
3122                <category android:name="android.intent.category.MASTER_CLEAR" />
3123            </intent-filter>
3124        </receiver>
3125
3126        <service android:name="com.android.internal.os.storage.ExternalStorageFormatter"
3127            android:permission="android.permission.MASTER_CLEAR"
3128            android:exported="true" />
3129
3130        <service android:name="android.hardware.location.GeofenceHardwareService"
3131            android:permission="android.permission.LOCATION_HARDWARE"
3132            android:exported="false" />
3133
3134        <service android:name="com.android.internal.backup.LocalTransportService"
3135                android:permission="android.permission.CONFIRM_FULL_BACKUP"
3136                android:exported="false">
3137            <intent-filter>
3138                <action android:name="android.backup.TRANSPORT_HOST" />
3139            </intent-filter>
3140        </service>
3141
3142        <service android:name="com.android.server.MountServiceIdler"
3143                 android:exported="true"
3144                 android:permission="android.permission.BIND_JOB_SERVICE" >
3145        </service>
3146
3147        <service android:name="com.android.server.backup.FullBackupJob"
3148                 android:exported="true"
3149                 android:permission="android.permission.BIND_JOB_SERVICE" >
3150        </service>
3151
3152        <service
3153            android:name="com.android.server.pm.BackgroundDexOptService"
3154            android:exported="true"
3155            android:permission="android.permission.BIND_JOB_SERVICE">
3156        </service>
3157
3158    </application>
3159
3160</manifest>
3161