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