AndroidManifest.xml revision fe6ec56cce981731be7d0bc0e61a0411d0a0d2cf
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.PRE_BOOT_COMPLETED" />
37    <protected-broadcast android:name="android.intent.action.BOOT_COMPLETED" />
38    <protected-broadcast android:name="android.intent.action.PACKAGE_INSTALL" />
39    <protected-broadcast android:name="android.intent.action.PACKAGE_ADDED" />
40    <protected-broadcast android:name="android.intent.action.PACKAGE_REPLACED" />
41    <protected-broadcast android:name="android.intent.action.MY_PACKAGE_REPLACED" />
42    <protected-broadcast android:name="android.intent.action.PACKAGE_REMOVED" />
43    <protected-broadcast android:name="android.intent.action.PACKAGE_FULLY_REMOVED" />
44    <protected-broadcast android:name="android.intent.action.PACKAGE_CHANGED" />
45    <protected-broadcast android:name="android.intent.action.PACKAGE_RESTARTED" />
46    <protected-broadcast android:name="android.intent.action.PACKAGE_DATA_CLEARED" />
47    <protected-broadcast android:name="android.intent.action.PACKAGE_FIRST_LAUNCH" />
48    <protected-broadcast android:name="android.intent.action.PACKAGE_NEEDS_VERIFICATION" />
49    <protected-broadcast android:name="android.intent.action.PACKAGE_VERIFIED" />
50    <protected-broadcast android:name="android.intent.action.PACKAGES_SUSPENDED" />
51    <protected-broadcast android:name="android.intent.action.PACKAGES_UNSUSPENDED" />
52    <protected-broadcast android:name="android.intent.action.ACTION_PREFERRED_ACTIVITY_CHANGED" />
53    <protected-broadcast android:name="android.intent.action.UID_REMOVED" />
54    <protected-broadcast android:name="android.intent.action.QUERY_PACKAGE_RESTART" />
55    <protected-broadcast android:name="android.intent.action.CONFIGURATION_CHANGED" />
56    <protected-broadcast android:name="android.intent.action.LOCALE_CHANGED" />
57    <protected-broadcast android:name="android.intent.action.BATTERY_CHANGED" />
58    <protected-broadcast android:name="android.intent.action.BATTERY_LOW" />
59    <protected-broadcast android:name="android.intent.action.BATTERY_OKAY" />
60    <protected-broadcast android:name="android.intent.action.ACTION_POWER_CONNECTED" />
61    <protected-broadcast android:name="android.intent.action.ACTION_POWER_DISCONNECTED" />
62    <protected-broadcast android:name="android.intent.action.ACTION_SHUTDOWN" />
63    <protected-broadcast android:name="android.intent.action.CHARGING" />
64    <protected-broadcast android:name="android.intent.action.DISCHARGING" />
65    <protected-broadcast android:name="android.intent.action.DEVICE_STORAGE_LOW" />
66    <protected-broadcast android:name="android.intent.action.DEVICE_STORAGE_OK" />
67    <protected-broadcast android:name="android.intent.action.DEVICE_STORAGE_FULL" />
68    <protected-broadcast android:name="android.intent.action.DEVICE_STORAGE_NOT_FULL" />
69    <protected-broadcast android:name="android.intent.action.NEW_OUTGOING_CALL" />
70    <protected-broadcast android:name="android.intent.action.REBOOT" />
71    <protected-broadcast android:name="android.intent.action.DOCK_EVENT" />
72    <protected-broadcast android:name="android.intent.action.THERMAL_EVENT" />
73    <protected-broadcast android:name="android.intent.action.MASTER_CLEAR_NOTIFICATION" />
74    <protected-broadcast android:name="android.intent.action.USER_ADDED" />
75    <protected-broadcast android:name="android.intent.action.USER_REMOVED" />
76    <protected-broadcast android:name="android.intent.action.USER_STARTING" />
77    <protected-broadcast android:name="android.intent.action.USER_STARTED" />
78    <protected-broadcast android:name="android.intent.action.USER_STOPPING" />
79    <protected-broadcast android:name="android.intent.action.USER_STOPPED" />
80    <protected-broadcast android:name="android.intent.action.USER_BACKGROUND" />
81    <protected-broadcast android:name="android.intent.action.USER_FOREGROUND" />
82    <protected-broadcast android:name="android.intent.action.USER_SWITCHED" />
83    <protected-broadcast android:name="android.intent.action.USER_INITIALIZE" />
84    <protected-broadcast android:name="android.intent.action.INTENT_FILTER_NEEDS_VERIFICATION" />
85    <protected-broadcast android:name="android.intent.action.OVERLAY_ADDED" />
86    <protected-broadcast android:name="android.intent.action.OVERLAY_CHANGED" />
87    <protected-broadcast android:name="android.intent.action.OVERLAY_REMOVED" />
88    <protected-broadcast android:name="android.intent.action.OVERLAY_PRIORITY_CHANGED" />
89
90    <protected-broadcast android:name="android.os.action.POWER_SAVE_MODE_CHANGED" />
91    <protected-broadcast android:name="android.os.action.POWER_SAVE_MODE_CHANGING" />
92    <protected-broadcast android:name="android.os.action.DEVICE_IDLE_MODE_CHANGED" />
93    <protected-broadcast android:name="android.os.action.POWER_SAVE_WHITELIST_CHANGED" />
94    <protected-broadcast android:name="android.os.action.POWER_SAVE_TEMP_WHITELIST_CHANGED" />
95    <protected-broadcast android:name="android.os.action.POWER_SAVE_MODE_CHANGED_INTERNAL" />
96
97    <protected-broadcast android:name="android.os.action.SCREEN_BRIGHTNESS_BOOST_CHANGED" />
98
99    <protected-broadcast android:name="android.app.action.ENTER_CAR_MODE" />
100    <protected-broadcast android:name="android.app.action.EXIT_CAR_MODE" />
101    <protected-broadcast android:name="android.app.action.ENTER_DESK_MODE" />
102    <protected-broadcast android:name="android.app.action.EXIT_DESK_MODE" />
103    <protected-broadcast android:name="android.app.action.NEXT_ALARM_CLOCK_CHANGED" />
104
105    <protected-broadcast android:name="android.app.action.BUGREPORT_SHARING_DECLINED" />
106    <protected-broadcast android:name="android.app.action.BUGREPORT_FAILED" />
107    <protected-broadcast android:name="android.app.action.BUGREPORT_SHARE" />
108    <protected-broadcast android:name="android.app.action.SHOW_DEVICE_MONITORING_DIALOG" />
109
110    <protected-broadcast android:name="android.appwidget.action.APPWIDGET_UPDATE_OPTIONS" />
111    <protected-broadcast android:name="android.appwidget.action.APPWIDGET_DELETED" />
112    <protected-broadcast android:name="android.appwidget.action.APPWIDGET_DISABLED" />
113    <protected-broadcast android:name="android.appwidget.action.APPWIDGET_ENABLED" />
114    <protected-broadcast android:name="android.appwidget.action.APPWIDGET_HOST_RESTORED" />
115    <protected-broadcast android:name="android.appwidget.action.APPWIDGET_RESTORED" />
116
117    <protected-broadcast android:name="android.os.action.SETTING_RESTORED" />
118
119    <protected-broadcast android:name="android.app.backup.intent.RUN" />
120    <protected-broadcast android:name="android.app.backup.intent.CLEAR" />
121    <protected-broadcast android:name="android.app.backup.intent.INIT" />
122
123    <protected-broadcast android:name="android.bluetooth.intent.DISCOVERABLE_TIMEOUT" />
124    <protected-broadcast android:name="android.bluetooth.adapter.action.STATE_CHANGED" />
125    <protected-broadcast android:name="android.bluetooth.adapter.action.SCAN_MODE_CHANGED" />
126    <protected-broadcast android:name="android.bluetooth.adapter.action.DISCOVERY_STARTED" />
127    <protected-broadcast android:name="android.bluetooth.adapter.action.DISCOVERY_FINISHED" />
128    <protected-broadcast android:name="android.bluetooth.adapter.action.LOCAL_NAME_CHANGED" />
129    <protected-broadcast android:name="android.bluetooth.adapter.action.BLUETOOTH_ADDRESS_CHANGED" />
130    <protected-broadcast android:name="android.bluetooth.adapter.action.CONNECTION_STATE_CHANGED" />
131    <protected-broadcast android:name="android.bluetooth.device.action.UUID" />
132    <protected-broadcast android:name="android.bluetooth.device.action.MAS_INSTANCE" />
133    <protected-broadcast android:name="android.bluetooth.device.action.ALIAS_CHANGED" />
134    <protected-broadcast android:name="android.bluetooth.device.action.FOUND" />
135    <protected-broadcast android:name="android.bluetooth.device.action.DISAPPEARED" />
136    <protected-broadcast android:name="android.bluetooth.device.action.CLASS_CHANGED" />
137    <protected-broadcast android:name="android.bluetooth.device.action.ACL_CONNECTED" />
138    <protected-broadcast android:name="android.bluetooth.device.action.ACL_DISCONNECT_REQUESTED" />
139    <protected-broadcast android:name="android.bluetooth.device.action.ACL_DISCONNECTED" />
140    <protected-broadcast android:name="android.bluetooth.device.action.NAME_CHANGED" />
141    <protected-broadcast android:name="android.bluetooth.device.action.BOND_STATE_CHANGED" />
142    <protected-broadcast android:name="android.bluetooth.device.action.NAME_FAILED" />
143    <protected-broadcast android:name="android.bluetooth.device.action.PAIRING_REQUEST" />
144    <protected-broadcast android:name="android.bluetooth.device.action.PAIRING_CANCEL" />
145    <protected-broadcast android:name="android.bluetooth.device.action.CONNECTION_ACCESS_REPLY" />
146    <protected-broadcast android:name="android.bluetooth.device.action.CONNECTION_ACCESS_CANCEL" />
147    <protected-broadcast android:name="android.bluetooth.device.action.CONNECTION_ACCESS_REQUEST" />
148    <protected-broadcast android:name="android.bluetooth.device.action.SDP_RECORD" />
149    <protected-broadcast android:name="android.bluetooth.devicepicker.action.LAUNCH" />
150    <protected-broadcast android:name="android.bluetooth.devicepicker.action.DEVICE_SELECTED" />
151    <protected-broadcast
152        android:name="android.bluetooth.headset.profile.action.CONNECTION_STATE_CHANGED" />
153    <protected-broadcast
154        android:name="android.bluetooth.headset.profile.action.AUDIO_STATE_CHANGED" />
155    <protected-broadcast
156        android:name="android.bluetooth.headset.action.VENDOR_SPECIFIC_HEADSET_EVENT" />
157    <protected-broadcast
158        android:name="android.bluetooth.headset.action.HF_INDICATORS_VALUE_CHANGED" />
159    <protected-broadcast
160        android:name="android.bluetooth.headsetclient.profile.action.CONNECTION_STATE_CHANGED" />
161    <protected-broadcast
162        android:name="android.bluetooth.headsetclient.profile.action.AUDIO_STATE_CHANGED" />
163    <protected-broadcast
164        android:name="android.bluetooth.headsetclient.profile.action.AG_EVENT" />
165    <protected-broadcast
166        android:name="android.bluetooth.headsetclient.profile.action.AG_CALL_CHANGED" />
167    <protected-broadcast
168        android:name="android.bluetooth.headsetclient.profile.action.RESULT" />
169    <protected-broadcast
170        android:name="android.bluetooth.headsetclient.profile.action.LAST_VTAG" />
171    <protected-broadcast
172        android:name="android.bluetooth.a2dp.profile.action.CONNECTION_STATE_CHANGED" />
173    <protected-broadcast
174        android:name="android.bluetooth.a2dp.profile.action.PLAYING_STATE_CHANGED" />
175    <protected-broadcast
176        android:name="android.bluetooth.a2dp.profile.action.CODEC_CONFIG_CHANGED" />
177    <protected-broadcast
178        android:name="android.bluetooth.a2dp-sink.profile.action.CONNECTION_STATE_CHANGED" />
179    <protected-broadcast
180        android:name="android.bluetooth.a2dp-sink.profile.action.PLAYING_STATE_CHANGED" />
181    <protected-broadcast
182        android:name="android.bluetooth.a2dp-sink.profile.action.AUDIO_CONFIG_CHANGED" />
183    <protected-broadcast
184        android:name="android.bluetooth.avrcp-controller.profile.action.CONNECTION_STATE_CHANGED" />
185    <protected-broadcast
186        android:name="android.bluetooth.input.profile.action.CONNECTION_STATE_CHANGED" />
187    <protected-broadcast
188        android:name="android.bluetooth.input.profile.action.PROTOCOL_MODE_CHANGED" />
189    <protected-broadcast
190        android:name="android.bluetooth.input.profile.action.VIRTUAL_UNPLUG_STATUS" />
191    <protected-broadcast
192        android:name="android.bluetooth.inputhost.profile.action.CONNECTION_STATE_CHANGED" />
193    <protected-broadcast
194        android:name="android.bluetooth.map.profile.action.CONNECTION_STATE_CHANGED" />
195    <protected-broadcast android:name="android.bluetooth.mapmce.profile.action.CONNECTION_STATE_CHANGED" />
196    <protected-broadcast android:name="android.bluetooth.mapmce.profile.action.MESSAGE_RECEIVED" />
197    <protected-broadcast android:name="android.bluetooth.mapmce.profile.action.MESSAGE_SENT_SUCCESSFULLY" />
198    <protected-broadcast android:name="android.bluetooth.mapmce.profile.action.MESSAGE_DELIVERED_SUCCESSFULLY" />
199    <protected-broadcast
200        android:name="com.android.bluetooth.BluetoothMapContentObserver.action.MESSAGE_SENT" />
201    <protected-broadcast
202        android:name="com.android.bluetooth.BluetoothMapContentObserver.action.MESSAGE_DELIVERY" />
203    <protected-broadcast
204        android:name="android.bluetooth.pan.profile.action.CONNECTION_STATE_CHANGED" />
205    <protected-broadcast android:name="android.bluetooth.pbap.intent.action.PBAP_STATE_CHANGED" />
206    <protected-broadcast android:name="android.bluetooth.pbap.profile.action.CONNECTION_STATE_CHANGED" />
207    <protected-broadcast android:name="android.bluetooth.sap.profile.action.CONNECTION_STATE_CHANGED" />
208    <protected-broadcast android:name="android.btopp.intent.action.INCOMING_FILE_NOTIFICATION" />
209    <protected-broadcast android:name="android.btopp.intent.action.USER_CONFIRMATION_TIMEOUT" />
210    <protected-broadcast android:name="android.btopp.intent.action.LIST" />
211    <protected-broadcast android:name="android.btopp.intent.action.OPEN_OUTBOUND" />
212    <protected-broadcast android:name="android.btopp.intent.action.HIDE_COMPLETE" />
213    <protected-broadcast android:name="android.btopp.intent.action.CONFIRM" />
214    <protected-broadcast android:name="android.btopp.intent.action.HIDE" />
215    <protected-broadcast android:name="android.btopp.intent.action.RETRY" />
216    <protected-broadcast android:name="android.btopp.intent.action.OPEN" />
217    <protected-broadcast android:name="android.btopp.intent.action.OPEN_INBOUND" />
218    <protected-broadcast android:name="android.btopp.intent.action.TRANSFER_COMPLETE" />
219    <protected-broadcast android:name="android.btopp.intent.action.ACCEPT" />
220    <protected-broadcast android:name="android.btopp.intent.action.DECLINE" />
221    <protected-broadcast android:name="com.android.bluetooth.gatt.REFRESH_BATCHED_SCAN" />
222    <protected-broadcast android:name="com.android.bluetooth.pbap.authchall" />
223    <protected-broadcast android:name="com.android.bluetooth.pbap.userconfirmtimeout" />
224    <protected-broadcast android:name="com.android.bluetooth.pbap.authresponse" />
225    <protected-broadcast android:name="com.android.bluetooth.pbap.authcancelled" />
226    <protected-broadcast android:name="com.android.bluetooth.sap.USER_CONFIRM_TIMEOUT" />
227    <protected-broadcast android:name="com.android.bluetooth.sap.action.DISCONNECT_ACTION" />
228
229    <protected-broadcast android:name="android.hardware.display.action.WIFI_DISPLAY_STATUS_CHANGED" />
230
231    <protected-broadcast android:name="android.hardware.usb.action.USB_STATE" />
232    <protected-broadcast android:name="android.hardware.usb.action.USB_PORT_CHANGED" />
233    <protected-broadcast android:name="android.hardware.usb.action.USB_ACCESSORY_ATTACHED" />
234    <protected-broadcast android:name="android.hardware.usb.action.USB_ACCESSORY_DETACHED" />
235    <protected-broadcast android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" />
236    <protected-broadcast android:name="android.hardware.usb.action.USB_DEVICE_DETACHED" />
237
238    <protected-broadcast android:name="android.intent.action.HEADSET_PLUG" />
239    <protected-broadcast android:name="android.media.action.HDMI_AUDIO_PLUG" />
240
241    <protected-broadcast android:name="android.media.AUDIO_BECOMING_NOISY" />
242    <protected-broadcast android:name="android.media.RINGER_MODE_CHANGED" />
243    <protected-broadcast android:name="android.media.VIBRATE_SETTING_CHANGED" />
244    <protected-broadcast android:name="android.media.VOLUME_CHANGED_ACTION" />
245    <protected-broadcast android:name="android.media.MASTER_VOLUME_CHANGED_ACTION" />
246    <protected-broadcast android:name="android.media.MASTER_MUTE_CHANGED_ACTION" />
247    <protected-broadcast android:name="android.media.MASTER_MONO_CHANGED_ACTION" />
248    <protected-broadcast android:name="android.media.SCO_AUDIO_STATE_CHANGED" />
249    <protected-broadcast android:name="android.media.ACTION_SCO_AUDIO_STATE_UPDATED" />
250
251    <protected-broadcast android:name="android.intent.action.MEDIA_REMOVED" />
252    <protected-broadcast android:name="android.intent.action.MEDIA_UNMOUNTED" />
253    <protected-broadcast android:name="android.intent.action.MEDIA_CHECKING" />
254    <protected-broadcast android:name="android.intent.action.MEDIA_NOFS" />
255    <protected-broadcast android:name="android.intent.action.MEDIA_MOUNTED" />
256    <protected-broadcast android:name="android.intent.action.MEDIA_SHARED" />
257    <protected-broadcast android:name="android.intent.action.MEDIA_UNSHARED" />
258    <protected-broadcast android:name="android.intent.action.MEDIA_BAD_REMOVAL" />
259    <protected-broadcast android:name="android.intent.action.MEDIA_UNMOUNTABLE" />
260    <protected-broadcast android:name="android.intent.action.MEDIA_EJECT" />
261
262    <protected-broadcast android:name="android.net.conn.CAPTIVE_PORTAL" />
263    <protected-broadcast android:name="android.net.conn.CONNECTIVITY_CHANGE" />
264    <!-- @deprecated.  Only {@link android.net.ConnectivityManager.CONNECTIVITY_ACTION} is sent. -->
265    <protected-broadcast android:name="android.net.conn.CONNECTIVITY_CHANGE_IMMEDIATE" />
266    <protected-broadcast android:name="android.net.conn.DATA_ACTIVITY_CHANGE" />
267    <protected-broadcast android:name="android.net.conn.RESTRICT_BACKGROUND_CHANGED" />
268    <protected-broadcast android:name="android.net.conn.BACKGROUND_DATA_SETTING_CHANGED" />
269    <protected-broadcast android:name="android.net.conn.CAPTIVE_PORTAL_TEST_COMPLETED" />
270
271    <protected-broadcast android:name="android.net.nsd.STATE_CHANGED" />
272
273    <protected-broadcast android:name="android.nfc.action.ADAPTER_STATE_CHANGED" />
274    <protected-broadcast android:name="android.nfc.action.TRANSACTION_DETECTED" />
275    <protected-broadcast android:name="com.android.nfc.action.LLCP_UP" />
276    <protected-broadcast android:name="com.android.nfc.action.LLCP_DOWN" />
277    <protected-broadcast android:name="com.android.nfc.cardemulation.action.CLOSE_TAP_DIALOG" />
278    <protected-broadcast android:name="com.android.nfc.handover.action.ALLOW_CONNECT" />
279    <protected-broadcast android:name="com.android.nfc.handover.action.DENY_CONNECT" />
280    <protected-broadcast android:name="com.android.nfc_extras.action.RF_FIELD_ON_DETECTED" />
281    <protected-broadcast android:name="com.android.nfc_extras.action.RF_FIELD_OFF_DETECTED" />
282    <protected-broadcast android:name="com.android.nfc_extras.action.AID_SELECTED" />
283    <!-- For NFC to BT handover -->
284    <protected-broadcast android:name="android.btopp.intent.action.WHITELIST_DEVICE" />
285    <protected-broadcast android:name="android.btopp.intent.action.STOP_HANDOVER_TRANSFER" />
286    <protected-broadcast android:name="android.nfc.handover.intent.action.HANDOVER_SEND" />
287    <protected-broadcast android:name="android.nfc.handover.intent.action.HANDOVER_SEND_MULTIPLE" />
288    <protected-broadcast android:name="com.android.nfc.handover.action.CANCEL_HANDOVER_TRANSFER" />
289
290    <protected-broadcast android:name="android.intent.action.CLEAR_DNS_CACHE" />
291    <protected-broadcast android:name="android.intent.action.PROXY_CHANGE" />
292
293    <protected-broadcast android:name="android.os.UpdateLock.UPDATE_LOCK_CHANGED" />
294
295    <protected-broadcast android:name="android.intent.action.DREAMING_STARTED" />
296    <protected-broadcast android:name="android.intent.action.DREAMING_STOPPED" />
297    <protected-broadcast android:name="android.intent.action.ANY_DATA_STATE" />
298
299    <protected-broadcast android:name="com.android.server.WifiManager.action.START_SCAN" />
300    <protected-broadcast android:name="com.android.server.WifiManager.action.START_PNO" />
301    <protected-broadcast android:name="com.android.server.WifiManager.action.DELAYED_DRIVER_STOP" />
302    <protected-broadcast android:name="com.android.server.WifiManager.action.DEVICE_IDLE" />
303    <protected-broadcast android:name="com.android.server.action.REMOTE_BUGREPORT_SHARING_ACCEPTED" />
304    <protected-broadcast android:name="com.android.server.action.REMOTE_BUGREPORT_SHARING_DECLINED" />
305    <protected-broadcast android:name="com.android.server.usb.ACTION_OPEN_IN_APPS" />
306    <protected-broadcast android:name="com.android.server.am.DELETE_DUMPHEAP" />
307    <protected-broadcast android:name="com.android.server.net.action.SNOOZE_WARNING" />
308    <protected-broadcast android:name="android.net.wifi.WIFI_STATE_CHANGED" />
309    <protected-broadcast android:name="android.net.wifi.WIFI_AP_STATE_CHANGED" />
310    <protected-broadcast android:name="android.net.wifi.WIFI_CREDENTIAL_CHANGED" />
311    <protected-broadcast android:name="android.net.wifi.WIFI_SCAN_AVAILABLE" />
312    <protected-broadcast android:name="android.net.wifi.aware.action.WIFI_AWARE_STATE_CHANGED" />
313    <protected-broadcast android:name="android.net.wifi.SCAN_RESULTS" />
314    <protected-broadcast android:name="android.net.wifi.RSSI_CHANGED" />
315    <protected-broadcast android:name="android.net.wifi.STATE_CHANGE" />
316    <protected-broadcast android:name="android.net.wifi.LINK_CONFIGURATION_CHANGED" />
317    <protected-broadcast android:name="android.net.wifi.CONFIGURED_NETWORKS_CHANGE" />
318    <protected-broadcast android:name="android.net.wifi.action.PASSPOINT_DEAUTH_IMMINENT" />
319    <protected-broadcast android:name="android.net.wifi.action.PASSPOINT_ICON" />
320    <protected-broadcast android:name="android.net.wifi.action.PASSPOINT_OSU_PROVIDERS_LIST" />
321    <protected-broadcast android:name="android.net.wifi.action.PASSPOINT_SUBSCRIPTION_REMEDIATION" />
322    <protected-broadcast android:name="android.net.wifi.supplicant.CONNECTION_CHANGE" />
323    <protected-broadcast android:name="android.net.wifi.supplicant.STATE_CHANGE" />
324    <protected-broadcast android:name="android.net.wifi.p2p.STATE_CHANGED" />
325    <protected-broadcast android:name="android.net.wifi.p2p.DISCOVERY_STATE_CHANGE" />
326    <protected-broadcast android:name="android.net.wifi.p2p.THIS_DEVICE_CHANGED" />
327    <protected-broadcast android:name="android.net.wifi.p2p.PEERS_CHANGED" />
328    <protected-broadcast android:name="android.net.wifi.p2p.CONNECTION_STATE_CHANGE" />
329    <protected-broadcast android:name="android.net.wifi.p2p.PERSISTENT_GROUPS_CHANGED" />
330    <protected-broadcast android:name="android.net.conn.TETHER_STATE_CHANGED" />
331    <protected-broadcast android:name="android.net.conn.INET_CONDITION_ACTION" />
332    <protected-broadcast android:name="android.net.conn.NETWORK_CONDITIONS_MEASURED" />
333    <protected-broadcast
334            android:name="android.net.ConnectivityService.action.PKT_CNT_SAMPLE_INTERVAL_ELAPSED" />
335    <protected-broadcast android:name="android.net.scoring.SCORE_NETWORKS" />
336    <protected-broadcast android:name="android.net.scoring.SCORER_CHANGED" />
337    <protected-broadcast android:name="android.intent.action.EXTERNAL_APPLICATIONS_AVAILABLE" />
338    <protected-broadcast android:name="android.intent.action.EXTERNAL_APPLICATIONS_UNAVAILABLE" />
339    <protected-broadcast android:name="android.intent.action.AIRPLANE_MODE" />
340    <protected-broadcast android:name="android.intent.action.ADVANCED_SETTINGS" />
341    <protected-broadcast android:name="android.intent.action.APPLICATION_RESTRICTIONS_CHANGED" />
342
343    <!-- Legacy -->
344    <protected-broadcast android:name="android.intent.action.ACTION_IDLE_MAINTENANCE_START" />
345    <protected-broadcast android:name="android.intent.action.ACTION_IDLE_MAINTENANCE_END" />
346
347    <protected-broadcast android:name="com.android.server.ACTION_TRIGGER_IDLE" />
348
349    <protected-broadcast android:name="android.intent.action.HDMI_PLUGGED" />
350
351    <protected-broadcast android:name="android.intent.action.PHONE_STATE" />
352
353    <protected-broadcast android:name="android.intent.action.SUB_DEFAULT_CHANGED" />
354
355    <protected-broadcast android:name="android.location.GPS_ENABLED_CHANGE" />
356    <protected-broadcast android:name="android.location.PROVIDERS_CHANGED" />
357    <protected-broadcast android:name="android.location.MODE_CHANGED" />
358    <protected-broadcast android:name="android.location.GPS_FIX_CHANGE" />
359    <protected-broadcast android:name="android.net.proxy.PAC_REFRESH" />
360
361    <protected-broadcast android:name="android.telecom.action.DEFAULT_DIALER_CHANGED" />
362    <protected-broadcast android:name="android.provider.action.DEFAULT_SMS_PACKAGE_CHANGED" />
363    <protected-broadcast android:name="android.intent.action.CONTENT_CHANGED" />
364    <protected-broadcast android:name="android.provider.Telephony.MMS_DOWNLOADED" />
365
366    <protected-broadcast
367        android:name="com.android.server.connectivityservice.CONNECTED_TO_PROVISIONING_NETWORK_ACTION" />
368
369    <!-- Defined in RestrictionsManager -->
370    <protected-broadcast
371        android:name="android.intent.action.PERMISSION_RESPONSE_RECEIVED" />
372    <!-- Defined in RestrictionsManager -->
373
374    <protected-broadcast android:name="android.intent.action.REQUEST_PERMISSION" />
375    <protected-broadcast android:name="android.nfc.handover.intent.action.HANDOVER_STARTED" />
376    <protected-broadcast android:name="android.nfc.handover.intent.action.TRANSFER_DONE" />
377    <protected-broadcast android:name="android.nfc.handover.intent.action.TRANSFER_PROGRESS" />
378    <protected-broadcast android:name="android.nfc.handover.intent.action.TRANSFER_DONE" />
379
380    <protected-broadcast android:name="android.intent.action.ACTION_DEFAULT_DATA_SUBSCRIPTION_CHANGED" />
381    <protected-broadcast android:name="android.intent.action.ACTION_DEFAULT_VOICE_SUBSCRIPTION_CHANGED" />
382    <protected-broadcast android:name="android.intent.action.ACTION_SUBINFO_CONTENT_CHANGE" />
383    <protected-broadcast android:name="android.intent.action.ACTION_SUBINFO_RECORD_UPDATED" />
384
385    <protected-broadcast android:name="android.intent.action.ACTION_SET_RADIO_CAPABILITY_DONE" />
386    <protected-broadcast android:name="android.intent.action.ACTION_SET_RADIO_CAPABILITY_FAILED" />
387
388    <protected-broadcast android:name="android.internal.policy.action.BURN_IN_PROTECTION" />
389    <protected-broadcast android:name="android.app.action.SYSTEM_UPDATE_POLICY_CHANGED" />
390    <protected-broadcast android:name="android.app.action.DEVICE_OWNER_CHANGED" />
391
392    <!-- Added in N -->
393    <protected-broadcast android:name="android.intent.action.ANR" />
394    <protected-broadcast android:name="android.intent.action.CALL" />
395    <protected-broadcast android:name="android.intent.action.CALL_PRIVILEGED" />
396    <protected-broadcast android:name="android.intent.action.DROPBOX_ENTRY_ADDED" />
397    <protected-broadcast android:name="android.intent.action.INPUT_METHOD_CHANGED" />
398    <protected-broadcast android:name="android.intent.action.internal_sim_state_changed" />
399    <protected-broadcast android:name="android.intent.action.LOCKED_BOOT_COMPLETED" />
400    <protected-broadcast android:name="android.intent.action.PRECISE_CALL_STATE" />
401    <protected-broadcast android:name="android.intent.action.PRECISE_DATA_CONNECTION_STATE_CHANGED" />
402    <protected-broadcast android:name="android.intent.action.SUBSCRIPTION_PHONE_STATE" />
403    <protected-broadcast android:name="android.intent.action.USER_INFO_CHANGED" />
404    <protected-broadcast android:name="android.intent.action.USER_UNLOCKED" />
405    <protected-broadcast android:name="android.intent.action.WALLPAPER_CHANGED" />
406
407    <protected-broadcast android:name="android.app.action.DEVICE_POLICY_MANAGER_STATE_CHANGED" />
408    <protected-broadcast android:name="android.app.action.CHOOSE_PRIVATE_KEY_ALIAS" />
409    <protected-broadcast android:name="android.app.action.DEVICE_ADMIN_DISABLED" />
410    <protected-broadcast android:name="android.app.action.DEVICE_ADMIN_DISABLE_REQUESTED" />
411    <protected-broadcast android:name="android.app.action.DEVICE_ADMIN_ENABLED" />
412    <protected-broadcast android:name="android.app.action.LOCK_TASK_ENTERING" />
413    <protected-broadcast android:name="android.app.action.LOCK_TASK_EXITING" />
414    <protected-broadcast android:name="android.app.action.NOTIFY_PENDING_SYSTEM_UPDATE" />
415    <protected-broadcast android:name="android.app.action.ACTION_PASSWORD_CHANGED" />
416    <protected-broadcast android:name="android.app.action.ACTION_PASSWORD_EXPIRING" />
417    <protected-broadcast android:name="android.app.action.ACTION_PASSWORD_FAILED" />
418    <protected-broadcast android:name="android.app.action.ACTION_PASSWORD_SUCCEEDED" />
419    <protected-broadcast android:name="com.android.server.ACTION_EXPIRED_PASSWORD_NOTIFICATION" />
420
421    <protected-broadcast android:name="android.intent.action.MANAGED_PROFILE_ADDED" />
422    <protected-broadcast android:name="android.intent.action.MANAGED_PROFILE_UNLOCKED" />
423    <protected-broadcast android:name="android.intent.action.MANAGED_PROFILE_REMOVED" />
424
425    <protected-broadcast android:name="android.bluetooth.adapter.action.BLE_STATE_CHANGED" />
426    <protected-broadcast android:name="com.android.bluetooth.map.USER_CONFIRM_TIMEOUT" />
427    <protected-broadcast android:name="com.android.bluetooth.BluetoothMapContentObserver.action.MESSAGE_SENT" />
428    <protected-broadcast android:name="com.android.bluetooth.BluetoothMapContentObserver.action.MESSAGE_DELIVERY" />
429    <protected-broadcast android:name="android.content.jobscheduler.JOB_DELAY_EXPIRED" />
430    <protected-broadcast android:name="android.content.syncmanager.SYNC_ALARM" />
431    <protected-broadcast android:name="android.media.INTERNAL_RINGER_MODE_CHANGED_ACTION" />
432    <protected-broadcast android:name="android.media.STREAM_DEVICES_CHANGED_ACTION" />
433    <protected-broadcast android:name="android.media.STREAM_MUTE_CHANGED_ACTION" />
434    <protected-broadcast android:name="android.net.sip.SIP_SERVICE_UP" />
435    <protected-broadcast android:name="android.nfc.action.ADAPTER_STATE_CHANGED" />
436    <protected-broadcast android:name="android.os.action.CHARGING" />
437    <protected-broadcast android:name="android.os.action.DISCHARGING" />
438    <protected-broadcast android:name="android.search.action.SEARCHABLES_CHANGED" />
439    <protected-broadcast android:name="android.security.STORAGE_CHANGED" />
440    <protected-broadcast android:name="android.security.action.TRUST_STORE_CHANGED" />
441    <protected-broadcast android:name="android.security.action.KEYCHAIN_CHANGED" />
442    <protected-broadcast android:name="android.security.action.KEY_ACCESS_CHANGED" />
443    <protected-broadcast android:name="android.telecom.action.PHONE_ACCOUNT_REGISTERED" />
444    <protected-broadcast android:name="android.telecom.action.PHONE_ACCOUNT_UNREGISTERED" />
445    <protected-broadcast android:name="android.telecom.action.SHOW_MISSED_CALLS_NOTIFICATION" />
446    <protected-broadcast android:name="android.telephony.action.CARRIER_CONFIG_CHANGED" />
447    <protected-broadcast android:name="android.telephony.action.DEFAULT_SUBSCRIPTION_CHANGED" />
448    <protected-broadcast android:name="android.telephony.action.DEFAULT_SMS_SUBSCRIPTION_CHANGED" />
449    <protected-broadcast android:name="android.telephony.action.SHOW_VOICEMAIL_NOTIFICATION" />
450
451    <protected-broadcast android:name="com.android.bluetooth.btservice.action.ALARM_WAKEUP" />
452    <protected-broadcast android:name="com.android.server.action.NETWORK_STATS_POLL" />
453    <protected-broadcast android:name="com.android.server.action.NETWORK_STATS_UPDATED" />
454    <protected-broadcast android:name="com.android.server.NetworkTimeUpdateService.action.POLL" />
455    <protected-broadcast android:name="com.android.server.telecom.intent.action.CALLS_ADD_ENTRY" />
456    <protected-broadcast android:name="com.android.settings.location.MODE_CHANGING" />
457
458    <protected-broadcast android:name="NotificationManagerService.TIMEOUT" />
459    <protected-broadcast android:name="ScheduleConditionProvider.EVALUATE" />
460    <protected-broadcast android:name="EventConditionProvider.EVALUATE" />
461    <protected-broadcast android:name="SnoozeHelper.EVALUATE" />
462    <protected-broadcast android:name="wifi_scan_available" />
463
464    <protected-broadcast android:name="action.cne.started" />
465    <protected-broadcast android:name="android.content.jobscheduler.JOB_DEADLINE_EXPIRED" />
466    <protected-broadcast android:name="android.intent.action.ACTION_UNSOL_RESPONSE_OEM_HOOK_RAW" />
467    <protected-broadcast android:name="android.net.conn.CONNECTIVITY_CHANGE_SUPL" />
468    <protected-broadcast android:name="android.os.action.ACTION_EFFECTS_SUPPRESSOR_CHANGED" />
469    <protected-broadcast android:name="android.os.action.LIGHT_DEVICE_IDLE_MODE_CHANGED" />
470    <protected-broadcast android:name="android.os.storage.action.VOLUME_STATE_CHANGED" />
471    <protected-broadcast android:name="android.os.storage.action.DISK_SCANNED" />
472    <protected-broadcast android:name="com.android.server.action.UPDATE_TWILIGHT_STATE" />
473    <protected-broadcast android:name="com.android.server.action.RESET_TWILIGHT_AUTO" />
474    <protected-broadcast android:name="com.android.server.device_idle.STEP_IDLE_STATE" />
475    <protected-broadcast android:name="com.android.server.device_idle.STEP_LIGHT_IDLE_STATE" />
476    <protected-broadcast android:name="com.android.server.Wifi.action.TOGGLE_PNO" />
477    <protected-broadcast android:name="intent.action.ACTION_RF_BAND_INFO" />
478    <protected-broadcast android:name="android.intent.action.MEDIA_RESOURCE_GRANTED" />
479    <protected-broadcast android:name="android.app.action.NETWORK_LOGS_AVAILABLE" />
480    <protected-broadcast android:name="android.app.action.SECURITY_LOGS_AVAILABLE" />
481
482    <protected-broadcast android:name="android.app.action.INTERRUPTION_FILTER_CHANGED" />
483    <protected-broadcast android:name="android.app.action.INTERRUPTION_FILTER_CHANGED_INTERNAL" />
484    <protected-broadcast android:name="android.app.action.NOTIFICATION_POLICY_CHANGED" />
485    <protected-broadcast android:name="android.app.action.NOTIFICATION_POLICY_ACCESS_GRANTED_CHANGED" />
486    <protected-broadcast android:name="android.os.action.ACTION_EFFECTS_SUPPRESSOR_CHANGED" />
487
488    <protected-broadcast android:name="android.permission.GET_APP_GRANTED_URI_PERMISSIONS" />
489    <protected-broadcast android:name="android.permission.CLEAR_APP_GRANTED_URI_PERMISSIONS" />
490
491    <protected-broadcast android:name="android.intent.action.DYNAMIC_SENSOR_CHANGED" />
492
493    <protected-broadcast android:name="android.intent.action.ACTION_RADIO_OFF" />
494
495    <protected-broadcast android:name="android.accounts.LOGIN_ACCOUNTS_CHANGED" />
496    <protected-broadcast android:name="android.accounts.action.ACCOUNT_REMOVED" />
497    <protected-broadcast android:name="android.accounts.action.VISIBLE_ACCOUNTS_CHANGED" />
498
499    <protected-broadcast android:name="com.android.sync.SYNC_CONN_STATUS_CHANGED" />
500
501    <protected-broadcast android:name="com.android.phone.SIP_INCOMING_CALL" />
502    <protected-broadcast android:name="com.android.phone.SIP_ADD_PHONE" />
503    <protected-broadcast android:name="com.android.phone.SIP_REMOVE_PHONE" />
504    <protected-broadcast android:name="com.android.phone.SIP_CALL_OPTION_CHANGED" />
505
506    <protected-broadcast android:name="android.bluetooth.adapter.action.BLE_ACL_CONNECTED" />
507    <protected-broadcast android:name="android.bluetooth.adapter.action.BLE_ACL_DISCONNECTED" />
508
509    <protected-broadcast android:name="android.bluetooth.input.profile.action.HANDSHAKE" />
510    <protected-broadcast android:name="android.bluetooth.input.profile.action.REPORT" />
511
512    <protected-broadcast android:name="android.intent.action.TWILIGHT_CHANGED" />
513
514    <protected-broadcast android:name="com.android.server.fingerprint.ACTION_LOCKOUT_RESET" />
515    <protected-broadcast android:name="android.net.wifi.PASSPOINT_ICON_RECEIVED" />
516    <protected-broadcast android:name="com.android.server.notification.CountdownConditionProvider" />
517
518    <protected-broadcast android:name="com.android.internal.location.ALARM_WAKEUP" />
519    <protected-broadcast android:name="com.android.internal.location.ALARM_TIMEOUT" />
520    <protected-broadcast android:name="android.intent.action.GLOBAL_BUTTON" />
521
522    <protected-broadcast android:name="android.intent.action.MANAGED_PROFILE_AVAILABLE" />
523    <protected-broadcast android:name="android.intent.action.MANAGED_PROFILE_UNAVAILABLE" />
524    <protected-broadcast android:name="com.android.server.pm.DISABLE_QUIET_MODE_AFTER_UNLOCK" />
525
526    <protected-broadcast android:name="com.android.server.retaildemo.ACTION_RESET_DEMO" />
527
528    <protected-broadcast android:name="android.intent.action.DEVICE_LOCKED_CHANGED" />
529
530    <!-- Added in O -->
531    <!-- TODO: temporary broadcast used by AutoFillManagerServiceImpl; will be removed -->
532    <protected-broadcast android:name="com.android.internal.autofill.action.REQUEST_AUTOFILL" />
533    <protected-broadcast android:name="android.app.action.APPLICATION_DELEGATION_SCOPES_CHANGED" />
534    <protected-broadcast android:name="com.android.server.wm.ACTION_REVOKE_SYSTEM_ALERT_WINDOW_PERMISSION" />
535    <protected-broadcast android:name="android.media.tv.action.PARENTAL_CONTROLS_ENABLED_CHANGED" />
536
537    <protected-broadcast android:name="android.content.pm.action.SESSION_COMMITTED" />
538    <protected-broadcast android:name="android.os.action.USER_RESTRICTIONS_CHANGED" />
539    <protected-broadcast android:name="android.media.tv.action.PREVIEW_PROGRAM_ADDED_TO_WATCH_NEXT" />
540    <protected-broadcast android:name="android.media.tv.action.PREVIEW_PROGRAM_BROWSABLE_DISABLED" />
541    <protected-broadcast android:name="android.media.tv.action.WATCH_NEXT_PROGRAM_BROWSABLE_DISABLED" />
542    <protected-broadcast android:name="android.media.tv.action.CHANNEL_BROWSABLE_REQUESTED" />
543
544    <!-- ====================================================================== -->
545    <!--                          RUNTIME PERMISSIONS                           -->
546    <!-- ====================================================================== -->
547    <eat-comment />
548
549    <!-- ====================================================================== -->
550    <!-- Permissions for accessing user's contacts including personal profile   -->
551    <!-- ====================================================================== -->
552    <eat-comment />
553
554    <!-- Used for runtime permissions related to contacts and profiles on this
555        device. -->
556    <permission-group android:name="android.permission-group.CONTACTS"
557        android:icon="@drawable/perm_group_contacts"
558        android:label="@string/permgrouplab_contacts"
559        android:description="@string/permgroupdesc_contacts"
560        android:priority="100" />
561
562    <!-- Allows an application to read the user's contacts data.
563        <p>Protection level: dangerous
564    -->
565    <permission android:name="android.permission.READ_CONTACTS"
566        android:permissionGroup="android.permission-group.CONTACTS"
567        android:label="@string/permlab_readContacts"
568        android:description="@string/permdesc_readContacts"
569        android:protectionLevel="dangerous" />
570
571    <!-- Allows an application to write the user's contacts data.
572         <p>Protection level: dangerous
573    -->
574    <permission android:name="android.permission.WRITE_CONTACTS"
575        android:permissionGroup="android.permission-group.CONTACTS"
576        android:label="@string/permlab_writeContacts"
577        android:description="@string/permdesc_writeContacts"
578        android:protectionLevel="dangerous" />
579
580    <!-- ====================================================================== -->
581    <!-- Permissions for accessing user's calendar                              -->
582    <!-- ====================================================================== -->
583    <eat-comment />
584
585    <!-- Used for runtime permissions related to user's calendar. -->
586    <permission-group android:name="android.permission-group.CALENDAR"
587        android:icon="@drawable/perm_group_calendar"
588        android:label="@string/permgrouplab_calendar"
589        android:description="@string/permgroupdesc_calendar"
590        android:priority="200" />
591
592    <!-- Allows an application to read the user's calendar data.
593         <p>Protection level: dangerous
594    -->
595    <permission android:name="android.permission.READ_CALENDAR"
596        android:permissionGroup="android.permission-group.CALENDAR"
597        android:label="@string/permlab_readCalendar"
598        android:description="@string/permdesc_readCalendar"
599        android:protectionLevel="dangerous" />
600
601    <!-- Allows an application to write the user's calendar data.
602         <p>Protection level: dangerous
603    -->
604    <permission android:name="android.permission.WRITE_CALENDAR"
605        android:permissionGroup="android.permission-group.CALENDAR"
606        android:label="@string/permlab_writeCalendar"
607        android:description="@string/permdesc_writeCalendar"
608        android:protectionLevel="dangerous" />
609
610    <!-- ====================================================================== -->
611    <!-- Permissions for accessing and modifying user's SMS messages            -->
612    <!-- ====================================================================== -->
613    <eat-comment />
614
615    <!-- Used for runtime permissions related to user's SMS messages. -->
616    <permission-group android:name="android.permission-group.SMS"
617        android:icon="@drawable/perm_group_sms"
618        android:label="@string/permgrouplab_sms"
619        android:description="@string/permgroupdesc_sms"
620        android:priority="300" />
621
622    <!-- Allows an application to send SMS messages.
623         <p>Protection level: dangerous
624    -->
625    <permission android:name="android.permission.SEND_SMS"
626        android:permissionGroup="android.permission-group.SMS"
627        android:label="@string/permlab_sendSms"
628        android:description="@string/permdesc_sendSms"
629        android:permissionFlags="costsMoney"
630        android:protectionLevel="dangerous" />
631
632    <!-- Allows an application to receive SMS messages.
633         <p>Protection level: dangerous
634    -->
635    <permission android:name="android.permission.RECEIVE_SMS"
636        android:permissionGroup="android.permission-group.SMS"
637        android:label="@string/permlab_receiveSms"
638        android:description="@string/permdesc_receiveSms"
639        android:protectionLevel="dangerous"/>
640
641    <!-- Allows an application to read SMS messages.
642         <p>Protection level: dangerous
643    -->
644    <permission android:name="android.permission.READ_SMS"
645        android:permissionGroup="android.permission-group.SMS"
646        android:label="@string/permlab_readSms"
647        android:description="@string/permdesc_readSms"
648        android:protectionLevel="dangerous" />
649
650    <!-- Allows an application to receive WAP push messages.
651         <p>Protection level: dangerous
652    -->
653    <permission android:name="android.permission.RECEIVE_WAP_PUSH"
654        android:permissionGroup="android.permission-group.SMS"
655        android:label="@string/permlab_receiveWapPush"
656        android:description="@string/permdesc_receiveWapPush"
657        android:protectionLevel="dangerous" />
658
659    <!-- Allows an application to monitor incoming MMS messages.
660        <p>Protection level: dangerous
661    -->
662    <permission android:name="android.permission.RECEIVE_MMS"
663        android:permissionGroup="android.permission-group.SMS"
664        android:label="@string/permlab_receiveMms"
665        android:description="@string/permdesc_receiveMms"
666        android:protectionLevel="dangerous" />
667
668    <!-- Allows an application to read previously received cell broadcast
669         messages and to register a content observer to get notifications when
670         a cell broadcast has been received and added to the database. For
671         emergency alerts, the database is updated immediately after the
672         alert dialog and notification sound/vibration/speech are presented.
673         The "read" column is then updated after the user dismisses the alert.
674         This enables supplementary emergency assistance apps to start loading
675         additional emergency information (if Internet access is available)
676         when the alert is first received, and to delay presenting the info
677         to the user until after the initial alert dialog is dismissed.
678         <p>Protection level: dangerous
679         @hide Pending API council approval -->
680    <permission android:name="android.permission.READ_CELL_BROADCASTS"
681        android:permissionGroup="android.permission-group.SMS"
682        android:label="@string/permlab_readCellBroadcasts"
683        android:description="@string/permdesc_readCellBroadcasts"
684        android:protectionLevel="dangerous" />
685
686    <!-- ====================================================================== -->
687    <!-- Permissions for accessing external storage                             -->
688    <!-- ====================================================================== -->
689    <eat-comment />
690
691    <!-- Used for runtime permissions related to the shared external storage. -->
692    <permission-group android:name="android.permission-group.STORAGE"
693        android:icon="@drawable/perm_group_storage"
694        android:label="@string/permgrouplab_storage"
695        android:description="@string/permgroupdesc_storage"
696        android:priority="900" />
697
698    <!-- Allows an application to read from external storage.
699     <p>Any app that declares the {@link #WRITE_EXTERNAL_STORAGE} permission is implicitly
700     granted this permission.</p>
701     <p>This permission is enforced starting in API level 19.  Before API level 19, this
702     permission is not enforced and all apps still have access to read from external storage.
703     You can test your app with the permission enforced by enabling <em>Protect USB
704     storage</em> under Developer options in the Settings app on a device running Android 4.1 or
705     higher.</p>
706     <p>Also starting in API level 19, this permission is <em>not</em> required to
707     read/write files in your application-specific directories returned by
708     {@link android.content.Context#getExternalFilesDir} and
709     {@link android.content.Context#getExternalCacheDir}.
710     <p class="note"><strong>Note:</strong> If <em>both</em> your <a
711     href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#min">{@code
712     minSdkVersion}</a> and <a
713     href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
714     targetSdkVersion}</a> values are set to 3 or lower, the system implicitly
715     grants your app this permission. If you don't need this permission, be sure your <a
716     href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
717     targetSdkVersion}</a> is 4 or higher.
718     <p>Protection level: dangerous
719     -->
720    <permission android:name="android.permission.READ_EXTERNAL_STORAGE"
721        android:permissionGroup="android.permission-group.STORAGE"
722        android:label="@string/permlab_sdcardRead"
723        android:description="@string/permdesc_sdcardRead"
724        android:protectionLevel="dangerous" />
725
726    <!-- Allows an application to write to external storage.
727         <p class="note"><strong>Note:</strong> If <em>both</em> your <a
728         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#min">{@code
729         minSdkVersion}</a> and <a
730         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
731         targetSdkVersion}</a> values are set to 3 or lower, the system implicitly
732         grants your app this permission. If you don't need this permission, be sure your <a
733         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
734         targetSdkVersion}</a> is 4 or higher.
735         <p>Starting in API level 19, this permission is <em>not</em> required to
736         read/write files in your application-specific directories returned by
737         {@link android.content.Context#getExternalFilesDir} and
738         {@link android.content.Context#getExternalCacheDir}.
739         <p>Protection level: dangerous
740    -->
741    <permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
742        android:permissionGroup="android.permission-group.STORAGE"
743        android:label="@string/permlab_sdcardWrite"
744        android:description="@string/permdesc_sdcardWrite"
745        android:protectionLevel="dangerous" />
746
747    <!-- ====================================================================== -->
748    <!-- Permissions for accessing the device location                          -->
749    <!-- ====================================================================== -->
750    <eat-comment />
751
752    <!-- Used for permissions that allow accessing the device location. -->
753    <permission-group android:name="android.permission-group.LOCATION"
754        android:icon="@drawable/perm_group_location"
755        android:label="@string/permgrouplab_location"
756        android:description="@string/permgroupdesc_location"
757        android:priority="400" />
758
759    <!-- Allows an app to access precise location.
760         Alternatively, you might want {@link #ACCESS_COARSE_LOCATION}.
761         <p>Protection level: dangerous
762    -->
763    <permission android:name="android.permission.ACCESS_FINE_LOCATION"
764        android:permissionGroup="android.permission-group.LOCATION"
765        android:label="@string/permlab_accessFineLocation"
766        android:description="@string/permdesc_accessFineLocation"
767        android:protectionLevel="dangerous|ephemeral" />
768
769    <!-- Allows an app to access approximate location.
770         Alternatively, you might want {@link #ACCESS_FINE_LOCATION}.
771         <p>Protection level: dangerous
772    -->
773    <permission android:name="android.permission.ACCESS_COARSE_LOCATION"
774        android:permissionGroup="android.permission-group.LOCATION"
775        android:label="@string/permlab_accessCoarseLocation"
776        android:description="@string/permdesc_accessCoarseLocation"
777        android:protectionLevel="dangerous|ephemeral" />
778
779    <!-- ====================================================================== -->
780    <!-- Permissions for accessing the device telephony                         -->
781    <!-- ====================================================================== -->
782    <eat-comment />
783
784    <!-- Used for permissions that are associated telephony features. -->
785    <permission-group android:name="android.permission-group.PHONE"
786        android:icon="@drawable/perm_group_phone_calls"
787        android:label="@string/permgrouplab_phone"
788        android:description="@string/permgroupdesc_phone"
789        android:priority="500" />
790
791    <!-- Allows read only access to phone state, including the phone number of the device,
792         current cellular network information, the status of any ongoing calls, and a list of any
793         {@link android.telecom.PhoneAccount}s registered on the device.
794         <p class="note"><strong>Note:</strong> If <em>both</em> your <a
795         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#min">{@code
796         minSdkVersion}</a> and <a
797         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
798         targetSdkVersion}</a> values are set to 3 or lower, the system implicitly
799         grants your app this permission. If you don't need this permission, be sure your <a
800         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
801         targetSdkVersion}</a> is 4 or higher.
802         <p>Protection level: dangerous
803    -->
804    <permission android:name="android.permission.READ_PHONE_STATE"
805        android:permissionGroup="android.permission-group.PHONE"
806        android:label="@string/permlab_readPhoneState"
807        android:description="@string/permdesc_readPhoneState"
808        android:protectionLevel="dangerous" />
809
810    <!-- Allows read access to the device's phone number(s). This is a subset of the capabilities
811         granted by {@link #READ_PHONE_STATE} but is exposed to ephemeral applications.
812         <p>Protection level: dangerous-->
813    <permission android:name="android.permission.READ_PHONE_NUMBERS"
814        android:permissionGroup="android.permission-group.PHONE"
815        android:label="@string/permlab_readPhoneNumbers"
816        android:description="@string/permdesc_readPhoneNumbers"
817        android:protectionLevel="dangerous|ephemeral" />
818
819    <!-- Allows an application to initiate a phone call without going through
820        the Dialer user interface for the user to confirm the call.
821        <p>Protection level: dangerous
822    -->
823    <permission android:name="android.permission.CALL_PHONE"
824        android:permissionGroup="android.permission-group.PHONE"
825        android:permissionFlags="costsMoney"
826        android:label="@string/permlab_callPhone"
827        android:description="@string/permdesc_callPhone"
828        android:protectionLevel="dangerous" />
829
830    <!-- Allows an application to access the IMS call service: making and
831         modifying a call
832        <p>Protection level: signature|privileged
833        @hide
834    -->
835    <permission android:name="android.permission.ACCESS_IMS_CALL_SERVICE"
836        android:permissionGroup="android.permission-group.PHONE"
837        android:label="@string/permlab_accessImsCallService"
838        android:description="@string/permdesc_accessImsCallService"
839        android:protectionLevel="signature|privileged" />
840
841    <!-- Allows an application to read the user's call log.
842         <p class="note"><strong>Note:</strong> If your app uses the
843         {@link #READ_CONTACTS} permission and <em>both</em> your <a
844         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#min">{@code
845         minSdkVersion}</a> and <a
846         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
847         targetSdkVersion}</a> values are set to 15 or lower, the system implicitly
848         grants your app this permission. If you don't need this permission, be sure your <a
849         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
850         targetSdkVersion}</a> is 16 or higher.</p>
851         <p>Protection level: dangerous
852    -->
853    <permission android:name="android.permission.READ_CALL_LOG"
854        android:permissionGroup="android.permission-group.PHONE"
855        android:label="@string/permlab_readCallLog"
856        android:description="@string/permdesc_readCallLog"
857        android:protectionLevel="dangerous" />
858
859    <!-- Allows an application to write (but not read) the user's
860         call log data.
861         <p class="note"><strong>Note:</strong> If your app uses the
862         {@link #WRITE_CONTACTS} permission and <em>both</em> your <a
863         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#min">{@code
864         minSdkVersion}</a> and <a
865         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
866         targetSdkVersion}</a> values are set to 15 or lower, the system implicitly
867         grants your app this permission. If you don't need this permission, be sure your <a
868         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
869         targetSdkVersion}</a> is 16 or higher.</p>
870         <p>Protection level: dangerous
871    -->
872    <permission android:name="android.permission.WRITE_CALL_LOG"
873        android:permissionGroup="android.permission-group.PHONE"
874        android:label="@string/permlab_writeCallLog"
875        android:description="@string/permdesc_writeCallLog"
876        android:protectionLevel="dangerous" />
877
878    <!-- Allows an application to add voicemails into the system.
879         <p>Protection level: dangerous
880    -->
881    <permission android:name="com.android.voicemail.permission.ADD_VOICEMAIL"
882        android:permissionGroup="android.permission-group.PHONE"
883        android:label="@string/permlab_addVoicemail"
884        android:description="@string/permdesc_addVoicemail"
885        android:protectionLevel="dangerous" />
886
887    <!-- Allows an application to use SIP service.
888         <p>Protection level: dangerous
889    -->
890    <permission android:name="android.permission.USE_SIP"
891        android:permissionGroup="android.permission-group.PHONE"
892        android:description="@string/permdesc_use_sip"
893        android:label="@string/permlab_use_sip"
894        android:protectionLevel="dangerous"/>
895
896    <!-- Allows an application to see the number being dialed during an outgoing
897         call with the option to redirect the call to a different number or
898         abort the call altogether.
899         <p>Protection level: dangerous
900    -->
901    <permission android:name="android.permission.PROCESS_OUTGOING_CALLS"
902        android:permissionGroup="android.permission-group.PHONE"
903        android:label="@string/permlab_processOutgoingCalls"
904        android:description="@string/permdesc_processOutgoingCalls"
905        android:protectionLevel="dangerous" />
906
907
908    <!-- Allows the app to answer an incoming phone call.
909         <p>Protection level: dangerous
910    -->
911    <permission android:name="android.permission.ANSWER_PHONE_CALLS"
912        android:permissionGroup="android.permission-group.PHONE"
913        android:label="@string/permlab_answerPhoneCalls"
914        android:description="@string/permdesc_answerPhoneCalls"
915        android:protectionLevel="dangerous|runtime" />
916
917    <!-- Allows a calling application which manages it own calls through the self-managed
918         {@link android.telecom.ConnectionService} APIs.  See
919         {@link android.telecom.PhoneAccount#CAPABILITY_SELF_MANAGED for more information on the
920         self-managed ConnectionService APIs.
921         <p>Protection level: normal
922    -->
923    <permission android:name="android.permission.MANAGE_OWN_CALLS"
924                android:label="@string/permlab_manageOwnCalls"
925                android:description="@string/permdesc_manageOwnCalls"
926                android:protectionLevel="normal" />
927
928    <!-- ====================================================================== -->
929    <!-- Permissions for accessing the device microphone                        -->
930    <!-- ====================================================================== -->
931    <eat-comment />
932
933    <!-- Used for permissions that are associated with accessing
934         microphone audio from the device. Note that phone calls also capture audio
935         but are in a separate (more visible) permission group. -->
936    <permission-group android:name="android.permission-group.MICROPHONE"
937        android:icon="@drawable/perm_group_microphone"
938        android:label="@string/permgrouplab_microphone"
939        android:description="@string/permgroupdesc_microphone"
940        android:priority="600" />
941
942    <!-- Allows an application to record audio.
943         <p>Protection level: dangerous
944    -->
945    <permission android:name="android.permission.RECORD_AUDIO"
946        android:permissionGroup="android.permission-group.MICROPHONE"
947        android:label="@string/permlab_recordAudio"
948        android:description="@string/permdesc_recordAudio"
949        android:protectionLevel="dangerous"/>
950
951    <!-- ====================================================================== -->
952    <!-- Permissions for accessing the UCE Service                              -->
953    <!-- ====================================================================== -->
954
955    <!-- @hide Allows an application to Access UCE-Presence.
956         <p>Protection level: dangerous
957    -->
958    <permission android:name="android.permission.ACCESS_UCE_PRESENCE_SERVICE"
959        android:permissionGroup="android.permission-group.PHONE"
960        android:protectionLevel="signatureOrSystem"/>
961
962    <!-- @hide Allows an application to Access UCE-OPTIONS.
963         <p>Protection level: dangerous
964    -->
965    <permission android:name="android.permission.ACCESS_UCE_OPTIONS_SERVICE"
966        android:permissionGroup="android.permission-group.PHONE"
967        android:protectionLevel="signatureOrSystem"/>
968
969
970
971    <!-- ====================================================================== -->
972    <!-- Permissions for accessing the device camera                            -->
973    <!-- ====================================================================== -->
974    <eat-comment />
975
976    <!-- Used for permissions that are associated with accessing
977     camera or capturing images/video from the device. -->
978    <permission-group android:name="android.permission-group.CAMERA"
979        android:icon="@drawable/perm_group_camera"
980        android:label="@string/permgrouplab_camera"
981        android:description="@string/permgroupdesc_camera"
982        android:priority="700" />
983
984    <!-- Required to be able to access the camera device.
985         <p>This will automatically enforce the <a
986         href="{@docRoot}guide/topics/manifest/uses-feature-element.html">
987         <uses-feature>}</a> manifest element for <em>all</em> camera features.
988         If you do not require all camera features or can properly operate if a camera
989         is not available, then you must modify your manifest as appropriate in order to
990         install on devices that don't support all camera features.</p>
991         <p>Protection level: dangerous
992    -->
993    <permission android:name="android.permission.CAMERA"
994        android:permissionGroup="android.permission-group.CAMERA"
995        android:label="@string/permlab_camera"
996        android:description="@string/permdesc_camera"
997        android:protectionLevel="dangerous|ephemeral" />
998
999
1000    <!-- ====================================================================== -->
1001    <!-- Permissions for accessing the device sensors                           -->
1002    <!-- ====================================================================== -->
1003    <eat-comment />
1004
1005    <!-- Used for permissions that are associated with accessing
1006         camera or capturing images/video from the device. -->
1007    <permission-group android:name="android.permission-group.SENSORS"
1008        android:icon="@drawable/perm_group_sensors"
1009        android:label="@string/permgrouplab_sensors"
1010        android:description="@string/permgroupdesc_sensors"
1011        android:priority="800" />
1012
1013    <!-- Allows an application to access data from sensors that the user uses to
1014         measure what is happening inside his/her body, such as heart rate.
1015         <p>Protection level: dangerous -->
1016    <permission android:name="android.permission.BODY_SENSORS"
1017        android:permissionGroup="android.permission-group.SENSORS"
1018        android:label="@string/permlab_bodySensors"
1019        android:description="@string/permdesc_bodySensors"
1020        android:protectionLevel="dangerous" />
1021
1022    <!-- Allows an app to use fingerprint hardware.
1023         <p>Protection level: normal
1024    -->
1025    <permission android:name="android.permission.USE_FINGERPRINT"
1026        android:permissionGroup="android.permission-group.SENSORS"
1027        android:label="@string/permlab_useFingerprint"
1028        android:description="@string/permdesc_useFingerprint"
1029        android:protectionLevel="normal" />
1030
1031    <!-- ====================================================================== -->
1032    <!-- REMOVED PERMISSIONS                                                    -->
1033    <!-- ====================================================================== -->
1034
1035    <!-- @hide We need to keep this around for backwards compatibility -->
1036    <permission android:name="android.permission.READ_PROFILE"
1037        android:protectionLevel="normal"
1038        android:permissionFlags="removed"/>
1039
1040    <!-- @hide We need to keep this around for backwards compatibility -->
1041    <permission android:name="android.permission.WRITE_PROFILE"
1042        android:protectionLevel="normal"
1043        android:permissionFlags="removed"/>
1044
1045    <!-- @hide We need to keep this around for backwards compatibility -->
1046    <permission android:name="android.permission.READ_SOCIAL_STREAM"
1047        android:protectionLevel="normal"
1048        android:permissionFlags="removed"/>
1049
1050    <!-- @hide We need to keep this around for backwards compatibility -->
1051    <permission android:name="android.permission.WRITE_SOCIAL_STREAM"
1052        android:protectionLevel="normal"
1053        android:permissionFlags="removed"/>
1054
1055    <!-- @hide We need to keep this around for backwards compatibility -->
1056    <permission android:name="android.permission.READ_USER_DICTIONARY"
1057        android:protectionLevel="normal"
1058        android:permissionFlags="removed"/>
1059
1060    <!-- @hide We need to keep this around for backwards compatibility -->
1061    <permission android:name="android.permission.WRITE_USER_DICTIONARY"
1062        android:protectionLevel="normal"
1063        android:permissionFlags="removed"/>
1064
1065    <!-- @hide We need to keep this around for backwards compatibility -->
1066    <permission android:name="android.permission.WRITE_SMS"
1067        android:protectionLevel="normal"
1068        android:permissionFlags="removed"/>
1069
1070    <!-- @hide We need to keep this around for backwards compatibility -->
1071    <permission android:name="com.android.browser.permission.READ_HISTORY_BOOKMARKS"
1072        android:protectionLevel="normal"
1073        android:permissionFlags="removed"/>
1074
1075    <!-- @hide We need to keep this around for backwards compatibility -->
1076    <permission android:name="com.android.browser.permission.WRITE_HISTORY_BOOKMARKS"
1077        android:protectionLevel="normal"
1078        android:permissionFlags="removed"/>
1079
1080    <!-- @hide We need to keep this around for backwards compatibility -->
1081    <permission android:name="android.permission.AUTHENTICATE_ACCOUNTS"
1082        android:protectionLevel="normal"
1083        android:permissionFlags="removed"/>
1084
1085    <!-- @hide We need to keep this around for backwards compatibility -->
1086    <permission android:name="android.permission.MANAGE_ACCOUNTS"
1087        android:protectionLevel="normal"
1088        android:permissionFlags="removed"/>
1089
1090    <!-- @hide We need to keep this around for backwards compatibility -->
1091    <permission android:name="android.permission.USE_CREDENTIALS"
1092        android:protectionLevel="normal"
1093        android:permissionFlags="removed"/>
1094
1095    <!-- @hide We need to keep this around for backwards compatibility -->
1096    <permission android:name="android.permission.SUBSCRIBED_FEEDS_READ"
1097        android:protectionLevel="normal"
1098        android:permissionFlags="removed"/>
1099
1100    <!-- @hide We need to keep this around for backwards compatibility -->
1101    <permission android:name="android.permission.SUBSCRIBED_FEEDS_WRITE"
1102        android:protectionLevel="normal"
1103        android:permissionFlags="removed"/>
1104
1105    <!-- @hide We need to keep this around for backwards compatibility -->
1106    <permission android:name="android.permission.FLASHLIGHT"
1107        android:protectionLevel="normal"
1108        android:permissionFlags="removed"/>
1109
1110    <!-- ====================================================================== -->
1111    <!-- INSTALL PERMISSIONS                                                    -->
1112    <!-- ====================================================================== -->
1113
1114    <!-- ================================== -->
1115    <!-- Permissions for accessing messages -->
1116    <!-- ================================== -->
1117    <eat-comment />
1118
1119    <!-- @SystemApi Allows an application (Phone) to send a request to other applications
1120         to handle the respond-via-message action during incoming calls.
1121         <p>Not for use by third-party applications. -->
1122    <permission android:name="android.permission.SEND_RESPOND_VIA_MESSAGE"
1123        android:protectionLevel="signature|privileged" />
1124
1125    <!-- @SystemApi Allows an application to send SMS to premium shortcodes without user permission.
1126         <p>Not for use by third-party applications.
1127         @hide -->
1128    <permission android:name="android.permission.SEND_SMS_NO_CONFIRMATION"
1129        android:protectionLevel="signature|privileged" />
1130
1131    <!-- Allows an application to filter carrier specific sms.
1132         @hide -->
1133    <permission android:name="android.permission.CARRIER_FILTER_SMS"
1134        android:protectionLevel="signature|privileged" />
1135
1136    <!-- @SystemApi Allows an application to receive emergency cell broadcast messages,
1137         to record or display them to the user.
1138         <p>Not for use by third-party applications.
1139         @hide -->
1140    <permission android:name="android.permission.RECEIVE_EMERGENCY_BROADCAST"
1141        android:protectionLevel="signature|privileged" />
1142
1143    <!-- Allows an application to monitor incoming Bluetooth MAP messages, to record
1144         or perform processing on them. -->
1145    <!-- @hide -->
1146    <permission android:name="android.permission.RECEIVE_BLUETOOTH_MAP"
1147        android:protectionLevel="signature|privileged" />
1148
1149    <!-- @SystemApi @hide Allows an application to execute contacts directory search.
1150         This should only be used by ContactsProvider.
1151         <p>Not for use by third-party applications. -->
1152    <permission android:name="android.permission.BIND_DIRECTORY_SEARCH"
1153        android:protectionLevel="signature|privileged" />
1154
1155    <!-- @SystemApi @hide Allows an application to modify cell broadcasts through the content provider.
1156         <p>Not for use by third-party applications. -->
1157    <permission android:name="android.permission.MODIFY_CELL_BROADCASTS"
1158                android:protectionLevel="signature|privileged" />
1159
1160    <!-- =============================================================== -->
1161    <!-- Permissions for setting the device alarm                        -->
1162    <!-- =============================================================== -->
1163    <eat-comment />
1164
1165    <!-- Allows an application to broadcast an Intent to set an alarm for the user.
1166         <p>Protection level: normal
1167    -->
1168    <permission android:name="com.android.alarm.permission.SET_ALARM"
1169        android:label="@string/permlab_setAlarm"
1170        android:description="@string/permdesc_setAlarm"
1171        android:protectionLevel="normal" />
1172
1173    <!-- =============================================================== -->
1174    <!-- Permissions for accessing the user voicemail                    -->
1175    <!-- =============================================================== -->
1176    <eat-comment />
1177
1178    <!-- Allows an application to modify and remove existing voicemails in the system.
1179        <p>Protection level: signature|privileged
1180    -->
1181    <permission android:name="com.android.voicemail.permission.WRITE_VOICEMAIL"
1182        android:protectionLevel="signature|privileged" />
1183
1184    <!-- Allows an application to read voicemails in the system.
1185         <p>Protection level: signature|privileged
1186    -->
1187    <permission android:name="com.android.voicemail.permission.READ_VOICEMAIL"
1188        android:protectionLevel="signature|privileged" />
1189
1190    <!-- ======================================= -->
1191    <!-- Permissions for accessing location info -->
1192    <!-- ======================================= -->
1193    <eat-comment />
1194
1195    <!-- Allows an application to access extra location provider commands.
1196         <p>Protection level: normal
1197    -->
1198    <permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"
1199        android:label="@string/permlab_accessLocationExtraCommands"
1200        android:description="@string/permdesc_accessLocationExtraCommands"
1201        android:protectionLevel="normal" />
1202
1203    <!-- @SystemApi Allows an application to install a location provider into the Location Manager.
1204    <p>Not for use by third-party applications. -->
1205    <permission android:name="android.permission.INSTALL_LOCATION_PROVIDER"
1206        android:protectionLevel="signature|privileged" />
1207
1208    <!-- @SystemApi @hide Allows HDMI-CEC service to access device and configuration files.
1209         This should only be used by HDMI-CEC service.
1210    -->
1211    <permission android:name="android.permission.HDMI_CEC"
1212        android:protectionLevel="signature|privileged" />
1213
1214    <!-- @SystemApi Allows an application to use location features in hardware,
1215         such as the geofencing api.
1216         <p>Not for use by third-party applications. -->
1217    <permission android:name="android.permission.LOCATION_HARDWARE"
1218        android:protectionLevel="signature|privileged" />
1219    <uses-permission android:name="android.permission.LOCATION_HARDWARE"/>
1220
1221    <!-- @SystemApi Allows an application to create mock location providers for testing.
1222         <p>Protection level: signature
1223         @hide
1224    -->
1225    <permission android:name="android.permission.ACCESS_MOCK_LOCATION"
1226        android:protectionLevel="signature" />
1227
1228    <!-- ======================================= -->
1229    <!-- Permissions for accessing networks -->
1230    <!-- ======================================= -->
1231    <eat-comment />
1232
1233    <!-- Allows applications to open network sockets.
1234         <p>Protection level: normal
1235    -->
1236    <permission android:name="android.permission.INTERNET"
1237        android:description="@string/permdesc_createNetworkSockets"
1238        android:label="@string/permlab_createNetworkSockets"
1239        android:protectionLevel="normal|ephemeral" />
1240
1241    <!-- Allows applications to access information about networks.
1242         <p>Protection level: normal
1243    -->
1244    <permission android:name="android.permission.ACCESS_NETWORK_STATE"
1245        android:description="@string/permdesc_accessNetworkState"
1246        android:label="@string/permlab_accessNetworkState"
1247        android:protectionLevel="normal|ephemeral" />
1248
1249    <!-- Allows applications to access information about Wi-Fi networks.
1250         <p>Protection level: normal
1251    -->
1252    <permission android:name="android.permission.ACCESS_WIFI_STATE"
1253        android:description="@string/permdesc_accessWifiState"
1254        android:label="@string/permlab_accessWifiState"
1255        android:protectionLevel="normal" />
1256
1257    <!-- Allows applications to change Wi-Fi connectivity state.
1258         <p>Protection level: normal
1259    -->
1260    <permission android:name="android.permission.CHANGE_WIFI_STATE"
1261        android:description="@string/permdesc_changeWifiState"
1262        android:label="@string/permlab_changeWifiState"
1263        android:protectionLevel="normal" />
1264
1265    <!-- @SystemApi @hide Allows applications to read Wi-Fi credential.
1266         <p>Not for use by third-party applications. -->
1267    <permission android:name="android.permission.READ_WIFI_CREDENTIAL"
1268        android:protectionLevel="signature|privileged" />
1269
1270    <!-- @SystemApi @hide Allows applications to change tether state and run
1271         tether carrier provisioning.
1272         <p>Not for use by third-party applications. -->
1273    <permission android:name="android.permission.TETHER_PRIVILEGED"
1274        android:protectionLevel="signature|privileged" />
1275
1276    <!-- @SystemApi @hide Allow system apps to receive broadcast
1277         when a wifi network credential is changed.
1278         <p>Not for use by third-party applications. -->
1279    <permission android:name="android.permission.RECEIVE_WIFI_CREDENTIAL_CHANGE"
1280        android:protectionLevel="signature|privileged" />
1281
1282    <!-- @SystemApi @hide Allows an application to modify any wifi configuration, even if created
1283     by another application. Once reconfigured the original creator cannot make any further
1284     modifications.
1285     <p>Not for use by third-party applications. -->
1286    <permission android:name="android.permission.OVERRIDE_WIFI_CONFIG"
1287        android:protectionLevel="signature|privileged" />
1288
1289    <!-- @hide -->
1290    <permission android:name="android.permission.ACCESS_WIMAX_STATE"
1291        android:description="@string/permdesc_accessWimaxState"
1292        android:label="@string/permlab_accessWimaxState"
1293        android:protectionLevel="normal" />
1294
1295    <!-- @hide -->
1296    <permission android:name="android.permission.CHANGE_WIMAX_STATE"
1297        android:description="@string/permdesc_changeWimaxState"
1298        android:label="@string/permlab_changeWimaxState"
1299        android:protectionLevel="normal" />
1300
1301    <!-- Allows applications to act as network scorers. @hide @SystemApi-->
1302    <permission android:name="android.permission.SCORE_NETWORKS"
1303        android:protectionLevel="signature|privileged" />
1304
1305    <!-- Allows applications to request network
1306         recommendations and scores from the NetworkScoreService.
1307         <p>Not for use by third-party applications. @hide -->
1308    <permission android:name="android.permission.REQUEST_NETWORK_SCORES"
1309        android:protectionLevel="signature|setup" />
1310
1311    <!-- Allows network stack services (Connectivity and Wifi) to coordinate
1312         <p>Not for use by third-party or privileged applications.
1313         @hide This should only be used by Connectivity and Wifi Services.
1314    -->
1315    <permission android:name="android.permission.NETWORK_STACK"
1316        android:protectionLevel="signature" />
1317
1318    <!-- ======================================= -->
1319    <!-- Permissions for short range, peripheral networks -->
1320    <!-- ======================================= -->
1321    <eat-comment />
1322
1323    <!-- Allows applications to connect to paired bluetooth devices.
1324         <p>Protection level: normal
1325    -->
1326    <permission android:name="android.permission.BLUETOOTH"
1327        android:description="@string/permdesc_bluetooth"
1328        android:label="@string/permlab_bluetooth"
1329        android:protectionLevel="normal" />
1330
1331    <!-- Allows applications to discover and pair bluetooth devices.
1332         <p>Protection level: normal
1333    -->
1334    <permission android:name="android.permission.BLUETOOTH_ADMIN"
1335        android:description="@string/permdesc_bluetoothAdmin"
1336        android:label="@string/permlab_bluetoothAdmin"
1337        android:protectionLevel="normal" />
1338
1339    <!-- @SystemApi Allows applications to pair bluetooth devices without user interaction, and to
1340         allow or disallow phonebook access or message access.
1341         This is not available to third party applications. -->
1342    <permission android:name="android.permission.BLUETOOTH_PRIVILEGED"
1343        android:protectionLevel="signature|privileged" />
1344
1345    <!-- Control access to email providers exclusively for Bluetooth
1346         @hide
1347    -->
1348    <permission android:name="android.permission.BLUETOOTH_MAP"
1349        android:protectionLevel="signature" />
1350
1351    <!-- Allows bluetooth stack to access files
1352         @hide This should only be used by Bluetooth apk.
1353    -->
1354    <permission android:name="android.permission.BLUETOOTH_STACK"
1355        android:protectionLevel="signature" />
1356
1357    <!-- Allows applications to perform I/O operations over NFC.
1358         <p>Protection level: normal
1359    -->
1360    <permission android:name="android.permission.NFC"
1361        android:description="@string/permdesc_nfc"
1362        android:label="@string/permlab_nfc"
1363        android:protectionLevel="normal" />
1364
1365    <!-- @SystemApi Allows an internal user to use privileged ConnectivityManager APIs.
1366         @hide -->
1367    <permission android:name="android.permission.CONNECTIVITY_INTERNAL"
1368        android:protectionLevel="signature|privileged" />
1369
1370    <!-- @SystemApi Allows an internal user to use restricted Networks.
1371         @hide -->
1372    <permission android:name="android.permission.CONNECTIVITY_USE_RESTRICTED_NETWORKS"
1373        android:protectionLevel="signature|privileged" />
1374
1375    <!-- Allows a system application to access hardware packet offload capabilities.
1376         @hide -->
1377    <permission android:name="android.permission.PACKET_KEEPALIVE_OFFLOAD"
1378        android:protectionLevel="signature|privileged" />
1379
1380    <!-- @SystemApi
1381         @hide -->
1382    <permission android:name="android.permission.RECEIVE_DATA_ACTIVITY_CHANGE"
1383        android:protectionLevel="signature|privileged" />
1384
1385    <!-- @SystemApi Allows access to the loop radio (Android@Home mesh network) device.
1386         @hide -->
1387    <permission android:name="android.permission.LOOP_RADIO"
1388        android:protectionLevel="signature|privileged" />
1389
1390    <!-- Allows sending and receiving handover transfer status from Wifi and Bluetooth
1391         @hide -->
1392    <permission android:name="android.permission.NFC_HANDOVER_STATUS"
1393        android:protectionLevel="signature|privileged" />
1394
1395    <!-- ================================== -->
1396    <!-- Permissions for accessing accounts -->
1397    <!-- ================================== -->
1398    <eat-comment />
1399
1400    <!-- Allows access to the list of accounts in the Accounts Service.
1401
1402    <p class="note"><strong>Note:</strong> Beginning with Android 6.0 (API level
1403    23), if an app shares the signature of the authenticator that manages an
1404    account, it does not need <code>"GET_ACCOUNTS"</code> permission to read
1405    information about that account. On Android 5.1 and lower, all apps need
1406    <code>"GET_ACCOUNTS"</code> permission to read information about any
1407    account.</p>
1408
1409    <p>Protection level: dangerous
1410    -->
1411    <permission android:name="android.permission.GET_ACCOUNTS"
1412        android:permissionGroup="android.permission-group.CONTACTS"
1413        android:protectionLevel="dangerous"
1414        android:description="@string/permdesc_getAccounts"
1415        android:label="@string/permlab_getAccounts" />
1416    <uses-permission android:name="android.permission.GET_ACCOUNTS"/>
1417
1418    <!-- @SystemApi Allows applications to call into AccountAuthenticators.
1419    <p>Not for use by third-party applications. -->
1420    <permission android:name="android.permission.ACCOUNT_MANAGER"
1421        android:protectionLevel="signature" />
1422
1423    <!-- ================================== -->
1424    <!-- Permissions for accessing hardware that may effect battery life-->
1425    <!-- ================================== -->
1426    <eat-comment />
1427
1428    <!-- Allows applications to enter Wi-Fi Multicast mode.
1429         <p>Protection level: normal
1430    -->
1431    <permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE"
1432        android:description="@string/permdesc_changeWifiMulticastState"
1433        android:label="@string/permlab_changeWifiMulticastState"
1434        android:protectionLevel="normal" />
1435
1436    <!-- Allows access to the vibrator.
1437         <p>Protection level: normal
1438    -->
1439    <permission android:name="android.permission.VIBRATE"
1440        android:label="@string/permlab_vibrate"
1441        android:description="@string/permdesc_vibrate"
1442        android:protectionLevel="normal|ephemeral" />
1443
1444    <!-- Allows using PowerManager WakeLocks to keep processor from sleeping or screen
1445         from dimming.
1446         <p>Protection level: normal
1447    -->
1448    <permission android:name="android.permission.WAKE_LOCK"
1449        android:label="@string/permlab_wakeLock"
1450        android:description="@string/permdesc_wakeLock"
1451        android:protectionLevel="normal|ephemeral" />
1452
1453    <!-- Allows using the device's IR transmitter, if available.
1454         <p>Protection level: normal
1455    -->
1456    <permission android:name="android.permission.TRANSMIT_IR"
1457        android:label="@string/permlab_transmitIr"
1458        android:description="@string/permdesc_transmitIr"
1459        android:protectionLevel="normal" />
1460
1461    <!-- ==================================================== -->
1462    <!-- Permissions related to changing audio settings   -->
1463    <!-- ==================================================== -->
1464    <eat-comment />
1465
1466    <!-- Allows an application to modify global audio settings.
1467         <p>Protection level: normal
1468    -->
1469    <permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"
1470        android:label="@string/permlab_modifyAudioSettings"
1471        android:description="@string/permdesc_modifyAudioSettings"
1472        android:protectionLevel="normal" />
1473
1474    <!-- ================================== -->
1475    <!-- Permissions for accessing hardware -->
1476    <!-- ================================== -->
1477    <eat-comment />
1478
1479    <!-- @SystemApi Allows an application to manage preferences and permissions for USB devices
1480         @hide -->
1481    <permission android:name="android.permission.MANAGE_USB"
1482        android:protectionLevel="signature|privileged" />
1483
1484    <!-- @SystemApi Allows an application to access the MTP USB kernel driver.
1485         For use only by the device side MTP implementation.
1486         @hide -->
1487    <permission android:name="android.permission.ACCESS_MTP"
1488        android:protectionLevel="signature|privileged" />
1489
1490    <!-- @SystemApi Allows access to hardware peripherals.  Intended only for hardware testing.
1491         <p>Not for use by third-party applications.
1492         @hide
1493    -->
1494    <permission android:name="android.permission.HARDWARE_TEST"
1495        android:protectionLevel="signature" />
1496
1497    <!-- @SystemApi Allows access to FM
1498         @hide This is not a third-party API (intended for system apps).-->
1499    <permission android:name="android.permission.ACCESS_FM_RADIO"
1500        android:protectionLevel="signature|privileged" />
1501
1502    <!-- Allows access to configure network interfaces, configure/use IPSec, etc.
1503         @hide -->
1504    <permission android:name="android.permission.NET_ADMIN"
1505        android:protectionLevel="signature" />
1506
1507    <!-- Allows registration for remote audio playback. @hide -->
1508    <permission android:name="android.permission.REMOTE_AUDIO_PLAYBACK"
1509        android:protectionLevel="signature" />
1510
1511    <!-- @SystemApi Allows TvInputService to access underlying TV input hardware such as
1512         built-in tuners and HDMI-in's.
1513         @hide This should only be used by OEM's TvInputService's.
1514    -->
1515    <permission android:name="android.permission.TV_INPUT_HARDWARE"
1516        android:protectionLevel="signature|privileged" />
1517
1518    <!-- @SystemApi Allows to capture a frame of TV input hardware such as
1519         built-in tuners and HDMI-in's.
1520         @hide <p>Not for use by third-party applications.
1521    -->
1522    <permission android:name="android.permission.CAPTURE_TV_INPUT"
1523        android:protectionLevel="signature|privileged" />
1524
1525    <!-- @hide Allows TvInputService to access DVB device.
1526   <p>Not for use by third-party applications. -->
1527    <permission android:name="android.permission.DVB_DEVICE"
1528        android:protectionLevel="signature|privileged" />
1529
1530    <!-- @SystemApi Allows reading and enabling/disabling the OEM unlock allowed by carrier state
1531         @hide <p>Not for use by third-party applications. -->
1532    <permission android:name="android.permission.MANAGE_CARRIER_OEM_UNLOCK_STATE"
1533        android:protectionLevel="signature|privileged" />
1534
1535    <!-- @SystemApi Allows reading and enabling/disabling the OEM unlock allowed by user state
1536         @hide <p>Not for use by third-party applications. -->
1537    <permission android:name="android.permission.MANAGE_USER_OEM_UNLOCK_STATE"
1538        android:protectionLevel="signature|privileged" />
1539
1540    <!-- @SystemApi Allows reading the OEM unlock state
1541         @hide <p>Not for use by third-party applications. -->
1542    <permission android:name="android.permission.READ_OEM_UNLOCK_STATE"
1543        android:protectionLevel="signature|privileged" />
1544
1545    <!-- @hide Allows enabling/disabling OEM unlock
1546   <p>Not for use by third-party applications. -->
1547    <permission android:name="android.permission.OEM_UNLOCK_STATE"
1548        android:protectionLevel="signature" />
1549
1550    <!-- @hide Allows querying state of PersistentDataBlock
1551   <p>Not for use by third-party applications. -->
1552    <permission android:name="android.permission.ACCESS_PDB_STATE"
1553        android:protectionLevel="signature" />
1554
1555    <!-- @hide Allows system update service to notify device owner about pending updates.
1556   <p>Not for use by third-party applications. -->
1557    <permission android:name="android.permission.NOTIFY_PENDING_SYSTEM_UPDATE"
1558        android:protectionLevel="signature|privileged" />
1559
1560    <!-- =========================================== -->
1561    <!-- Permissions associated with camera and image capture -->
1562    <!-- =========================================== -->
1563    <eat-comment />
1564
1565    <!-- @SystemApi Allows disabling the transmit-indicator LED that is normally on when
1566         a camera is in use by an application.
1567         @hide -->
1568    <permission android:name="android.permission.CAMERA_DISABLE_TRANSMIT_LED"
1569        android:protectionLevel="signature|privileged" />
1570
1571    <!-- Allows sending the camera service notifications about system-wide events.
1572        @hide -->
1573    <permission android:name="android.permission.CAMERA_SEND_SYSTEM_EVENTS"
1574        android:protectionLevel="signature|privileged" />
1575
1576    <!-- =========================================== -->
1577    <!-- Permissions associated with telephony state -->
1578    <!-- =========================================== -->
1579    <eat-comment />
1580
1581    <!-- @SystemApi Allows modification of the telephony state - power on, mmi, etc.
1582         Does not include placing calls.
1583         <p>Not for use by third-party applications. -->
1584    <permission android:name="android.permission.MODIFY_PHONE_STATE"
1585        android:protectionLevel="signature|privileged" />
1586
1587    <!-- Allows read only access to precise phone state.
1588         @hide Pending API council approval -->
1589    <permission android:name="android.permission.READ_PRECISE_PHONE_STATE"
1590        android:protectionLevel="signature|privileged" />
1591
1592    <!-- @SystemApi Allows read access to privileged phone state.
1593         @hide Used internally. -->
1594    <permission android:name="android.permission.READ_PRIVILEGED_PHONE_STATE"
1595        android:protectionLevel="signature|privileged" />
1596
1597    <!-- @SystemApi Protects the ability to register any PhoneAccount with
1598         PhoneAccount#CAPABILITY_SIM_SUBSCRIPTION. This capability indicates that the PhoneAccount
1599         corresponds to a device SIM.
1600         @hide -->
1601    <permission android:name="android.permission.REGISTER_SIM_SUBSCRIPTION"
1602        android:protectionLevel="signature|privileged" />
1603
1604    <!-- @SystemApi Protects the ability to register any PhoneAccount with
1605         PhoneAccount#CAPABILITY_CALL_PROVIDER.
1606         @hide -->
1607    <permission android:name="android.permission.REGISTER_CALL_PROVIDER"
1608        android:protectionLevel="signature|privileged" />
1609
1610    <!-- @SystemApi Protects the ability to register any PhoneAccount with
1611         PhoneAccount#CAPABILITY_CONNECTION_MANAGER
1612         @hide -->
1613    <permission android:name="android.permission.REGISTER_CONNECTION_MANAGER"
1614        android:protectionLevel="signature|privileged" />
1615
1616    <!-- Must be required by a {@link android.telecom.InCallService},
1617         to ensure that only the system can bind to it.
1618         <p>Protection level: signature|privileged
1619    -->
1620    <permission android:name="android.permission.BIND_INCALL_SERVICE"
1621        android:protectionLevel="signature|privileged" />
1622
1623    <!-- Must be required by a link {@link android.telephony.VisualVoicemailService} to ensure that
1624         only the system can bind to it.
1625         <p>Protection level: signature|privileged
1626    -->
1627    <permission
1628      android:name="android.permission.BIND_VISUAL_VOICEMAIL_SERVICE"
1629      android:protectionLevel="signature|privileged"/>
1630
1631    <!-- Must be required by a {@link android.telecom.CallScreeningService},
1632         to ensure that only the system can bind to it.
1633         <p>Protection level: signature|privileged
1634    -->
1635    <permission android:name="android.permission.BIND_SCREENING_SERVICE"
1636        android:protectionLevel="signature|privileged" />
1637
1638    <!-- Must be required by a {@link android.telecom.ConnectionService},
1639         to ensure that only the system can bind to it.
1640         @deprecated {@link android.telecom.ConnectionService}s should require
1641                 android.permission.BIND_TELECOM_CONNECTION_SERVICE instead.
1642         @SystemApi
1643         @hide -->
1644    <permission android:name="android.permission.BIND_CONNECTION_SERVICE"
1645        android:protectionLevel="signature|privileged" />
1646
1647    <!-- Must be required by a {@link android.telecom.ConnectionService},
1648         to ensure that only the system can bind to it.
1649         <p>Protection level: signature|privileged
1650    -->
1651    <permission android:name="android.permission.BIND_TELECOM_CONNECTION_SERVICE"
1652        android:protectionLevel="signature|privileged" />
1653
1654    <!-- @SystemApi Allows an application to control the in-call experience.
1655         @hide -->
1656    <permission android:name="android.permission.CONTROL_INCALL_EXPERIENCE"
1657        android:protectionLevel="signature|privileged" />
1658
1659    <!-- Allows an application to receive STK related commands.
1660         @hide -->
1661    <permission android:name="android.permission.RECEIVE_STK_COMMANDS"
1662        android:protectionLevel="signature|privileged" />
1663
1664    <!-- Must be required by an ImsService to ensure that only the
1665         system can bind to it.
1666         <p>Protection level: signature|privileged
1667         @SystemApi
1668         @hide
1669    -->
1670    <permission android:name="android.permission.BIND_IMS_SERVICE"
1671        android:protectionLevel="signature|privileged" />
1672
1673    <!-- Allows an application to manage embedded subscriptions (those on a eUICC) through
1674         EuiccManager APIs.
1675         <p>Protection level: signature|privileged|development
1676         TODO(b/35851809): Mark this as a SystemApi.
1677         @hide -->
1678    <permission android:name="android.permission.WRITE_EMBEDDED_SUBSCRIPTIONS"
1679                android:protectionLevel="signature|privileged|development" />
1680
1681    <!-- Must be required by an EuiccService to ensure that only the system can bind to it.
1682         <p>Protection level: signature
1683         TODO(b/35851809): Mark this as a SystemApi.
1684         @hide -->
1685    <permission android:name="android.permission.BIND_EUICC_SERVICE"
1686                android:protectionLevel="signature" />
1687
1688
1689    <!-- ================================== -->
1690    <!-- Permissions for sdcard interaction -->
1691    <!-- ================================== -->
1692    <eat-comment />
1693
1694    <!-- @SystemApi Allows an application to write to internal media storage
1695         @hide  -->
1696    <permission android:name="android.permission.WRITE_MEDIA_STORAGE"
1697        android:protectionLevel="signature|privileged" />
1698
1699    <!-- Allows an application to manage access to documents, usually as part
1700         of a document picker.
1701         <p>This permission should <em>only</em> be requested by the platform
1702         document management app.  This permission cannot be granted to
1703         third-party apps.
1704         <p>Protection level: signature
1705    -->
1706    <permission android:name="android.permission.MANAGE_DOCUMENTS"
1707        android:protectionLevel="signature" />
1708
1709    <!-- @hide Allows an application to cache content.
1710         <p>Not for use by third-party applications.
1711         <p>Protection level: signature
1712    -->
1713    <permission android:name="android.permission.CACHE_CONTENT"
1714        android:protectionLevel="signature" />
1715
1716    <!-- @SystemApi @hide
1717         Allows an application to aggressively allocate disk space.
1718         <p>Not for use by third-party applications.
1719    -->
1720    <permission android:name="android.permission.ALLOCATE_AGGRESSIVE"
1721        android:protectionLevel="signature|privileged" />
1722
1723    <!-- ================================== -->
1724    <!-- Permissions for screenlock         -->
1725    <!-- ================================== -->
1726    <eat-comment />
1727
1728    <!-- Allows applications to disable the keyguard if it is not secure.
1729         <p>Protection level: normal
1730    -->
1731    <permission android:name="android.permission.DISABLE_KEYGUARD"
1732        android:description="@string/permdesc_disableKeyguard"
1733        android:label="@string/permlab_disableKeyguard"
1734        android:protectionLevel="normal" />
1735
1736    <!-- ================================== -->
1737    <!-- Permissions to access other installed applications  -->
1738    <!-- ================================== -->
1739    <eat-comment />
1740
1741    <!-- @deprecated No longer enforced. -->
1742    <permission android:name="android.permission.GET_TASKS"
1743        android:label="@string/permlab_getTasks"
1744        android:description="@string/permdesc_getTasks"
1745        android:protectionLevel="normal" />
1746
1747    <!-- New version of GET_TASKS that apps can request, since GET_TASKS doesn't really
1748         give access to task information.  We need this new one because there are
1749         many existing apps that use add libraries and such that have validation
1750         code to ensure the app has requested the GET_TASKS permission by seeing
1751         if it has been granted the permission...  if it hasn't, it kills the app
1752         with a message about being upset.  So we need to have it continue to look
1753         like the app is getting that permission, even though it will never be
1754         checked, and new privileged apps can now request this one for real access.
1755         @hide
1756         @SystemApi -->
1757    <permission android:name="android.permission.REAL_GET_TASKS"
1758        android:protectionLevel="signature|privileged" />
1759
1760    <!-- Allows an application to start a task from a ActivityManager#RecentTaskInfo.
1761         @hide -->
1762    <permission android:name="android.permission.START_TASKS_FROM_RECENTS"
1763        android:protectionLevel="signature|privileged" />
1764
1765    <!-- @SystemApi @hide Allows an application to call APIs that allow it to do interactions
1766         across the users on the device, using singleton services and
1767         user-targeted broadcasts.  This permission is not available to
1768         third party applications. -->
1769    <permission android:name="android.permission.INTERACT_ACROSS_USERS"
1770        android:protectionLevel="signature|privileged|development" />
1771
1772    <!-- @SystemApi Fuller form of {@link android.Manifest.permission#INTERACT_ACROSS_USERS}
1773         that removes restrictions on where broadcasts can be sent and allows other
1774         types of interactions
1775         @hide -->
1776    <permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL"
1777        android:protectionLevel="signature|installer" />
1778
1779    <!-- @SystemApi @hide Allows an application to call APIs that allow it to query and manage
1780         users on the device. This permission is not available to
1781         third party applications. -->
1782    <permission android:name="android.permission.MANAGE_USERS"
1783        android:protectionLevel="signature|privileged" />
1784
1785    <!-- @hide Allows an application to create, remove users and get the list of
1786         users on the device. Applications holding this permission can only create restricted,
1787         guest, managed, demo, and ephemeral users. For creating other kind of users,
1788         {@link android.Manifest.permission#MANAGE_USERS} is needed.
1789         This permission is not available to third party applications. -->
1790    <permission android:name="android.permission.CREATE_USERS"
1791        android:protectionLevel="signature" />
1792
1793    <!-- @hide Allows an application to set the profile owners and the device owner.
1794         This permission is not available to third party applications.-->
1795    <permission android:name="android.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS"
1796        android:protectionLevel="signature"
1797        android:label="@string/permlab_manageProfileAndDeviceOwners"
1798        android:description="@string/permdesc_manageProfileAndDeviceOwners" />
1799
1800    <!-- Allows an application to get full detailed information about
1801         recently running tasks, with full fidelity to the real state.
1802         @hide -->
1803    <permission android:name="android.permission.GET_DETAILED_TASKS"
1804        android:protectionLevel="signature" />
1805
1806    <!-- Allows an application to change the Z-order of tasks.
1807         <p>Protection level: normal
1808    -->
1809    <permission android:name="android.permission.REORDER_TASKS"
1810        android:label="@string/permlab_reorderTasks"
1811        android:description="@string/permdesc_reorderTasks"
1812        android:protectionLevel="normal" />
1813
1814    <!-- @hide Allows an application to change to remove/kill tasks -->
1815    <permission android:name="android.permission.REMOVE_TASKS"
1816        android:protectionLevel="signature" />
1817
1818    <!-- @SystemApi @hide Allows an application to create/manage/remove stacks -->
1819    <permission android:name="android.permission.MANAGE_ACTIVITY_STACKS"
1820        android:protectionLevel="signature|privileged" />
1821
1822    <!-- Allows an application to start any activity, regardless of permission
1823         protection or exported state.
1824         @hide -->
1825    <permission android:name="android.permission.START_ANY_ACTIVITY"
1826        android:protectionLevel="signature" />
1827
1828    <!-- @deprecated The {@link android.app.ActivityManager#restartPackage}
1829        API is no longer supported. -->
1830    <permission android:name="android.permission.RESTART_PACKAGES"
1831        android:label="@string/permlab_killBackgroundProcesses"
1832        android:description="@string/permdesc_killBackgroundProcesses"
1833        android:protectionLevel="normal" />
1834
1835    <!-- Allows an application to call
1836        {@link android.app.ActivityManager#killBackgroundProcesses}.
1837         <p>Protection level: normal
1838    -->
1839    <permission android:name="android.permission.KILL_BACKGROUND_PROCESSES"
1840        android:label="@string/permlab_killBackgroundProcesses"
1841        android:description="@string/permdesc_killBackgroundProcesses"
1842        android:protectionLevel="normal" />
1843
1844    <!-- @SystemApi @hide Allows an application to query process states and current
1845         OOM adjustment scores.
1846         <p>Not for use by third-party applications. -->
1847    <permission android:name="android.permission.GET_PROCESS_STATE_AND_OOM_SCORE"
1848        android:protectionLevel="signature|privileged|development" />
1849
1850    <!-- Allows use of PendingIntent.getIntent().
1851         @hide -->
1852    <permission android:name="android.permission.GET_INTENT_SENDER_INTENT"
1853        android:protectionLevel="signature" />
1854
1855    <!-- ================================== -->
1856    <!-- Permissions affecting the display of other applications  -->
1857    <!-- ================================== -->
1858    <eat-comment />
1859
1860    <!-- Allows an app to create windows using the type
1861         {@link android.view.WindowManager.LayoutParams#TYPE_APPLICATION_OVERLAY},
1862         shown on top of all other apps.  Very few apps
1863         should use this permission; these windows are intended for
1864         system-level interaction with the user.
1865
1866         <p class="note"><strong>Note:</strong> If the app
1867         targets API level 23 or higher, the app user must explicitly grant
1868         this permission to the app through a permission management screen. The app requests
1869         the user's approval by sending an intent with action
1870         {@link android.provider.Settings#ACTION_MANAGE_OVERLAY_PERMISSION}.
1871         The app can check whether it has this authorization by calling
1872         {@link android.provider.Settings#canDrawOverlays
1873         Settings.canDrawOverlays()}.
1874         <p>Protection level: signature -->
1875    <permission android:name="android.permission.SYSTEM_ALERT_WINDOW"
1876        android:label="@string/permlab_systemAlertWindow"
1877        android:description="@string/permdesc_systemAlertWindow"
1878        android:protectionLevel="signature|preinstalled|appop|pre23|development" />
1879
1880    <!-- @deprecated Use {@link android.Manifest.permission#REQUEST_COMPANION_RUN_IN_BACKGROUND}
1881         @hide
1882    -->
1883    <permission android:name="android.permission.RUN_IN_BACKGROUND"
1884        android:label="@string/permlab_runInBackground"
1885        android:description="@string/permdesc_runInBackground"
1886        android:protectionLevel="signature" />
1887
1888    <!-- @deprecated Use
1889        {@link android.Manifest.permission#REQUEST_COMPANION_USE_DATA_IN_BACKGROUND}
1890         @hide
1891    -->
1892    <permission android:name="android.permission.USE_DATA_IN_BACKGROUND"
1893        android:label="@string/permlab_useDataInBackground"
1894        android:description="@string/permdesc_useDataInBackground"
1895        android:protectionLevel="signature" />
1896
1897    <!-- @hide Allows an application to set display offsets for the screen.
1898         This permission is not available to third party applications. -->
1899    <permission android:name="android.permission.SET_DISPLAY_OFFSET"
1900        android:protectionLevel="signature|privileged" />
1901
1902    <!-- Allows a companion app to run in the background.
1903         <p>Protection level: normal
1904    -->
1905    <permission android:name="android.permission.REQUEST_COMPANION_RUN_IN_BACKGROUND"
1906                android:label="@string/permlab_runInBackground"
1907                android:description="@string/permdesc_runInBackground"
1908                android:protectionLevel="normal" />
1909
1910    <!-- Allows a companion app to use data in the background.
1911         <p>Protection level: normal
1912    -->
1913    <permission android:name="android.permission.REQUEST_COMPANION_USE_DATA_IN_BACKGROUND"
1914                android:label="@string/permlab_useDataInBackground"
1915                android:description="@string/permdesc_useDataInBackground"
1916                android:protectionLevel="normal" />
1917
1918
1919    <!-- ================================== -->
1920    <!-- Permissions affecting the system wallpaper -->
1921    <!-- ================================== -->
1922    <eat-comment />
1923
1924    <!-- Allows applications to set the wallpaper.
1925         <p>Protection level: normal
1926     -->
1927    <permission android:name="android.permission.SET_WALLPAPER"
1928        android:label="@string/permlab_setWallpaper"
1929        android:description="@string/permdesc_setWallpaper"
1930        android:protectionLevel="normal" />
1931
1932    <!-- Allows applications to set the wallpaper hints.
1933         <p>Protection level: normal
1934    -->
1935    <permission android:name="android.permission.SET_WALLPAPER_HINTS"
1936        android:label="@string/permlab_setWallpaperHints"
1937        android:description="@string/permdesc_setWallpaperHints"
1938        android:protectionLevel="normal" />
1939
1940    <!-- ============================================ -->
1941    <!-- Permissions for changing the system clock -->
1942    <!-- ============================================ -->
1943    <eat-comment />
1944
1945    <!-- @SystemApi Allows applications to set the system time.
1946    <p>Not for use by third-party applications. -->
1947    <permission android:name="android.permission.SET_TIME"
1948        android:protectionLevel="signature|privileged" />
1949
1950    <!-- Allows applications to set the system time zone.
1951         <p>Not for use by third-party applications.
1952    -->
1953    <permission android:name="android.permission.SET_TIME_ZONE"
1954        android:label="@string/permlab_setTimeZone"
1955        android:description="@string/permdesc_setTimeZone"
1956        android:protectionLevel="signature|privileged" />
1957
1958    <!-- ==================================================== -->
1959    <!-- Permissions related to changing status bar   -->
1960    <!-- ==================================================== -->
1961    <eat-comment />
1962
1963    <!-- Allows an application to expand or collapse the status bar.
1964         <p>Protection level: normal
1965    -->
1966    <permission android:name="android.permission.EXPAND_STATUS_BAR"
1967        android:label="@string/permlab_expandStatusBar"
1968        android:description="@string/permdesc_expandStatusBar"
1969        android:protectionLevel="normal" />
1970
1971    <!-- ============================================================== -->
1972    <!-- Permissions related to adding/removing shortcuts from Launcher -->
1973    <!-- ============================================================== -->
1974    <eat-comment />
1975
1976    <!-- Allows an application to install a shortcut in Launcher.
1977         <p>Protection level: normal
1978    -->
1979    <permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"
1980        android:label="@string/permlab_install_shortcut"
1981        android:description="@string/permdesc_install_shortcut"
1982        android:protectionLevel="normal"/>
1983
1984    <!--This permission is no longer supported.
1985    -->
1986    <permission android:name="com.android.launcher.permission.UNINSTALL_SHORTCUT"
1987        android:label="@string/permlab_uninstall_shortcut"
1988        android:description="@string/permdesc_uninstall_shortcut"
1989        android:protectionLevel="normal"/>
1990
1991    <!-- ==================================================== -->
1992    <!-- Permissions related to accessing sync settings   -->
1993    <!-- ==================================================== -->
1994    <eat-comment />
1995
1996    <!-- Allows applications to read the sync settings.
1997         <p>Protection level: normal
1998    -->
1999    <permission android:name="android.permission.READ_SYNC_SETTINGS"
2000        android:description="@string/permdesc_readSyncSettings"
2001        android:label="@string/permlab_readSyncSettings"
2002        android:protectionLevel="normal" />
2003
2004    <!-- Allows applications to write the sync settings.
2005         <p>Protection level: normal
2006    -->
2007    <permission android:name="android.permission.WRITE_SYNC_SETTINGS"
2008        android:description="@string/permdesc_writeSyncSettings"
2009        android:label="@string/permlab_writeSyncSettings"
2010        android:protectionLevel="normal" />
2011
2012    <!-- Allows applications to read the sync stats.
2013         <p>Protection level: normal
2014    -->
2015    <permission android:name="android.permission.READ_SYNC_STATS"
2016        android:description="@string/permdesc_readSyncStats"
2017        android:label="@string/permlab_readSyncStats"
2018        android:protectionLevel="normal" />
2019
2020    <!-- ============================================ -->
2021    <!-- Permissions for low-level system interaction -->
2022    <!-- ============================================ -->
2023    <eat-comment />
2024
2025    <!-- @SystemApi @hide Change the screen compatibility mode of applications -->
2026    <permission android:name="android.permission.SET_SCREEN_COMPATIBILITY"
2027        android:protectionLevel="signature" />
2028
2029    <!-- @SystemApi Allows an application to modify the current configuration, such
2030         as locale. -->
2031    <permission android:name="android.permission.CHANGE_CONFIGURATION"
2032        android:protectionLevel="signature|privileged|development" />
2033
2034    <!-- Allows an application to read or write the system settings.
2035
2036        <p class="note"><strong>Note:</strong> If the app targets API level 23
2037        or higher, the app user
2038        must explicitly grant this permission to the app through a permission management screen.
2039        The app requests the user's approval by sending an intent with action
2040        {@link android.provider.Settings#ACTION_MANAGE_WRITE_SETTINGS}. The app
2041        can check whether it has this authorization by calling {@link
2042        android.provider.Settings.System#canWrite Settings.System.canWrite()}.
2043
2044        <p>Protection level: signature
2045    -->
2046    <permission android:name="android.permission.WRITE_SETTINGS"
2047        android:label="@string/permlab_writeSettings"
2048        android:description="@string/permdesc_writeSettings"
2049        android:protectionLevel="signature|preinstalled|appop|pre23" />
2050
2051    <!-- @SystemApi Allows an application to modify the Google service map.
2052    <p>Not for use by third-party applications. -->
2053    <permission android:name="android.permission.WRITE_GSERVICES"
2054        android:protectionLevel="signature|privileged" />
2055
2056    <!-- @SystemApi Allows an application to call
2057        {@link android.app.ActivityManager#forceStopPackage}.
2058        @hide -->
2059    <permission android:name="android.permission.FORCE_STOP_PACKAGES"
2060        android:protectionLevel="signature|privileged" />
2061
2062    <!-- @SystemApi @hide Allows an application to retrieve the content of the active window
2063         An active window is the window that has fired an accessibility event. -->
2064    <permission android:name="android.permission.RETRIEVE_WINDOW_CONTENT"
2065        android:protectionLevel="signature|privileged" />
2066
2067    <!-- @SystemApi Modify the global animation scaling factor.
2068    <p>Not for use by third-party applications. -->
2069    <permission android:name="android.permission.SET_ANIMATION_SCALE"
2070        android:protectionLevel="signature|privileged|development" />
2071
2072    <!-- @deprecated This functionality will be removed in the future; please do
2073         not use. Allow an application to make its activities persistent. -->
2074    <permission android:name="android.permission.PERSISTENT_ACTIVITY"
2075        android:label="@string/permlab_persistentActivity"
2076        android:description="@string/permdesc_persistentActivity"
2077        android:protectionLevel="normal" />
2078
2079    <!-- Allows an application to find out the space used by any package.
2080         <p>Protection level: normal
2081    -->
2082    <permission android:name="android.permission.GET_PACKAGE_SIZE"
2083        android:label="@string/permlab_getPackageSize"
2084        android:description="@string/permdesc_getPackageSize"
2085        android:protectionLevel="normal" />
2086
2087    <!-- @deprecated No longer useful, see
2088         {@link android.content.pm.PackageManager#addPackageToPreferred}
2089         for details. -->
2090    <permission android:name="android.permission.SET_PREFERRED_APPLICATIONS"
2091        android:protectionLevel="signature|verifier" />
2092
2093    <!-- Allows an application to receive the
2094         {@link android.content.Intent#ACTION_BOOT_COMPLETED} that is
2095         broadcast after the system finishes booting.  If you don't
2096         request this permission, you will not receive the broadcast at
2097         that time.  Though holding this permission does not have any
2098         security implications, it can have a negative impact on the
2099         user experience by increasing the amount of time it takes the
2100         system to start and allowing applications to have themselves
2101         running without the user being aware of them.  As such, you must
2102         explicitly declare your use of this facility to make that visible
2103         to the user.
2104         <p>Protection level: normal
2105    -->
2106    <permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"
2107        android:label="@string/permlab_receiveBootCompleted"
2108        android:description="@string/permdesc_receiveBootCompleted"
2109        android:protectionLevel="normal" />
2110
2111    <!-- Allows an application to broadcast sticky intents.  These are
2112         broadcasts whose data is held by the system after being finished,
2113         so that clients can quickly retrieve that data without having
2114         to wait for the next broadcast.
2115         <p>Protection level: normal
2116    -->
2117    <permission android:name="android.permission.BROADCAST_STICKY"
2118        android:label="@string/permlab_broadcastSticky"
2119        android:description="@string/permdesc_broadcastSticky"
2120        android:protectionLevel="normal" />
2121
2122    <!-- @SystemApi Allows mounting and unmounting file systems for removable storage.
2123    <p>Not for use by third-party applications.-->
2124    <permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"
2125        android:protectionLevel="signature|privileged" />
2126
2127    <!-- @SystemApi Allows formatting file systems for removable storage.
2128    <p>Not for use by third-party applications. -->
2129    <permission android:name="android.permission.MOUNT_FORMAT_FILESYSTEMS"
2130        android:protectionLevel="signature|privileged" />
2131
2132    <!-- @hide -->
2133    <permission android:name="android.permission.STORAGE_INTERNAL"
2134        android:protectionLevel="signature" />
2135
2136    <!-- Allows access to ASEC non-destructive API calls
2137         @hide  -->
2138    <permission android:name="android.permission.ASEC_ACCESS"
2139        android:protectionLevel="signature" />
2140
2141    <!-- Allows creation of ASEC volumes
2142         @hide  -->
2143    <permission android:name="android.permission.ASEC_CREATE"
2144        android:protectionLevel="signature" />
2145
2146    <!-- Allows destruction of ASEC volumes
2147         @hide  -->
2148    <permission android:name="android.permission.ASEC_DESTROY"
2149        android:protectionLevel="signature" />
2150
2151    <!-- Allows mount / unmount of ASEC volumes
2152         @hide  -->
2153    <permission android:name="android.permission.ASEC_MOUNT_UNMOUNT"
2154        android:protectionLevel="signature" />
2155
2156    <!-- Allows rename of ASEC volumes
2157         @hide  -->
2158    <permission android:name="android.permission.ASEC_RENAME"
2159        android:protectionLevel="signature" />
2160
2161    <!-- @SystemApi Allows applications to write the apn settings.
2162    <p>Not for use by third-party applications. -->
2163    <permission android:name="android.permission.WRITE_APN_SETTINGS"
2164        android:protectionLevel="signature|privileged" />
2165
2166    <!-- Allows applications to change network connectivity state.
2167         <p>Protection level: normal
2168    -->
2169    <permission android:name="android.permission.CHANGE_NETWORK_STATE"
2170        android:description="@string/permdesc_changeNetworkState"
2171        android:label="@string/permlab_changeNetworkState"
2172        android:protectionLevel="normal" />
2173
2174    <!-- Allows an application to clear the caches of all installed
2175         applications on the device.
2176         <p>Protection level: system|signature
2177    -->
2178    <permission android:name="android.permission.CLEAR_APP_CACHE"
2179        android:protectionLevel="signature|privileged" />
2180
2181    <!-- @SystemApi Allows an application to use any media decoder when decoding for playback
2182         @hide -->
2183    <permission android:name="android.permission.ALLOW_ANY_CODEC_FOR_PLAYBACK"
2184        android:protectionLevel="signature|privileged" />
2185
2186    <!-- @SystemApi Allows an application to install and/or uninstall CA certificates on
2187         behalf of the user.
2188         @hide -->
2189    <permission android:name="android.permission.MANAGE_CA_CERTIFICATES"
2190        android:protectionLevel="signature|privileged" />
2191
2192    <!-- @SystemApi Allows an application to do certain operations needed for
2193         interacting with the recovery (system update) system.
2194         @hide -->
2195    <permission android:name="android.permission.RECOVERY"
2196        android:protectionLevel="signature|privileged" />
2197
2198    <!-- Allows the system to bind to an application's task services
2199         @hide -->
2200    <permission android:name="android.permission.BIND_JOB_SERVICE"
2201        android:protectionLevel="signature" />
2202    <uses-permission android:name="android.permission.BIND_JOB_SERVICE"/>
2203
2204    <!-- Allows an application to initiate configuration updates
2205         <p>An application requesting this permission is responsible for
2206         verifying the source and integrity of any update before passing
2207         it off to the various individual installer components
2208         @hide -->
2209    <permission android:name="android.permission.UPDATE_CONFIG"
2210        android:protectionLevel="signature|privileged" />
2211
2212    <!-- Allows a time zone rule updater application to request
2213         the system installs / uninstalls timezone rules.
2214         <p>An application requesting this permission is responsible for
2215         verifying the source and integrity of the update before passing
2216         it off to the installer components.
2217         @hide -->
2218    <permission android:name="android.permission.UPDATE_TIME_ZONE_RULES"
2219        android:protectionLevel="signature|privileged" />
2220
2221    <!-- Must be required by a time zone rule updater application,
2222         to ensure that only the system can trigger it.
2223         @hide -->
2224    <permission android:name="android.permission.TRIGGER_TIME_ZONE_RULES_CHECK"
2225        android:protectionLevel="signature" />
2226    <uses-permission android:name="android.permission.TRIGGER_TIME_ZONE_RULES_CHECK"/>
2227
2228    <!-- Allows the system to reset throttling in shortcut manager.
2229         @hide -->
2230    <permission android:name="android.permission.RESET_SHORTCUT_MANAGER_THROTTLING"
2231        android:protectionLevel="signature" />
2232
2233    <!-- Allows the system to bind to the discovered Network Recommendation Service.
2234         @SystemApi @hide -->
2235    <permission android:name="android.permission.BIND_NETWORK_RECOMMENDATION_SERVICE"
2236        android:protectionLevel="signature" />
2237    <uses-permission android:name="android.permission.BIND_NETWORK_RECOMMENDATION_SERVICE"/>
2238
2239    <!-- Allows an application to enable, disable and change priority of
2240         runtime resource overlays.
2241         @hide -->
2242    <permission android:name="android.permission.CHANGE_OVERLAY_PACKAGES"
2243        android:protectionLevel="signature|privileged" />
2244
2245    <!-- ========================================= -->
2246    <!-- Permissions for special development tools -->
2247    <!-- ========================================= -->
2248    <eat-comment />
2249
2250    <!-- @SystemApi Allows an application to read or write the secure system settings.
2251    <p>Not for use by third-party applications. -->
2252    <permission android:name="android.permission.WRITE_SECURE_SETTINGS"
2253        android:protectionLevel="signature|privileged|development" />
2254
2255    <!-- @SystemApi Allows an application to retrieve state dump information from system services.
2256    <p>Not for use by third-party applications. -->
2257    <permission android:name="android.permission.DUMP"
2258        android:protectionLevel="signature|privileged|development" />
2259
2260    <!-- @SystemApi Allows an application to read the low-level system log files.
2261    <p>Not for use by third-party applications, because
2262    Log entries can contain the user's private information. -->
2263    <permission android:name="android.permission.READ_LOGS"
2264        android:protectionLevel="signature|privileged|development" />
2265
2266    <!-- @SystemApi Configure an application for debugging.
2267    <p>Not for use by third-party applications. -->
2268    <permission android:name="android.permission.SET_DEBUG_APP"
2269        android:protectionLevel="signature|privileged|development" />
2270
2271    <!-- @SystemApi Allows an application to set the maximum number of (not needed)
2272         application processes that can be running.
2273         <p>Not for use by third-party applications. -->
2274    <permission android:name="android.permission.SET_PROCESS_LIMIT"
2275        android:protectionLevel="signature|privileged|development" />
2276
2277    <!-- @SystemApi Allows an application to control whether activities are immediately
2278         finished when put in the background.
2279         <p>Not for use by third-party applications. -->
2280    <permission android:name="android.permission.SET_ALWAYS_FINISH"
2281        android:protectionLevel="signature|privileged|development" />
2282
2283    <!-- @SystemApi Allow an application to request that a signal be sent to all persistent processes.
2284    <p>Not for use by third-party applications. -->
2285    <permission android:name="android.permission.SIGNAL_PERSISTENT_PROCESSES"
2286        android:protectionLevel="signature|privileged|development" />
2287
2288    <!-- ==================================== -->
2289    <!-- Private permissions                  -->
2290    <!-- ==================================== -->
2291    <eat-comment />
2292
2293    <!-- @SystemApi Allows access to the list of accounts in the Accounts Service. -->
2294    <permission android:name="android.permission.GET_ACCOUNTS_PRIVILEGED"
2295        android:protectionLevel="signature|privileged" />
2296
2297    <!-- Allows but does not guarantee access to user passwords at the conclusion of add account
2298    @hide -->
2299    <permission android:name="android.permission.GET_PASSWORD"
2300        android:protectionLevel="signature" />
2301
2302    <!-- @SystemApi Allows applications to RW to diagnostic resources.
2303    <p>Not for use by third-party applications. -->
2304    <permission android:name="android.permission.DIAGNOSTIC"
2305        android:protectionLevel="signature" />
2306
2307    <!-- @SystemApi Allows an application to open, close, or disable the status bar
2308         and its icons.
2309         <p>Not for use by third-party applications. -->
2310    <permission android:name="android.permission.STATUS_BAR"
2311        android:protectionLevel="signature|privileged" />
2312
2313    <!-- Allows an application to be the status bar.  Currently used only by SystemUI.apk
2314    @hide -->
2315    <permission android:name="android.permission.STATUS_BAR_SERVICE"
2316        android:protectionLevel="signature" />
2317
2318    <!-- Allows an application to bind to third party quick settings tiles.
2319         <p>Should only be requested by the System, should be required by
2320         TileService declarations.-->
2321    <permission android:name="android.permission.BIND_QUICK_SETTINGS_TILE"
2322        android:protectionLevel="signature" />
2323
2324    <!-- @SystemApi Allows an application to force a BACK operation on whatever is the
2325         top activity.
2326         <p>Not for use by third-party applications.
2327         @hide
2328    -->
2329    <permission android:name="android.permission.FORCE_BACK"
2330        android:protectionLevel="signature" />
2331
2332    <!-- @SystemApi Allows an application to update device statistics.
2333    <p>Not for use by third-party applications. -->
2334    <permission android:name="android.permission.UPDATE_DEVICE_STATS"
2335        android:protectionLevel="signature|privileged" />
2336
2337    <!-- @SystemApi @hide Allows an application to collect battery statistics -->
2338    <permission android:name="android.permission.GET_APP_OPS_STATS"
2339        android:protectionLevel="signature|privileged|development" />
2340
2341    <!-- @SystemApi Allows an application to update application operation statistics. Not for
2342         use by third party apps.
2343         @hide -->
2344    <permission android:name="android.permission.UPDATE_APP_OPS_STATS"
2345        android:protectionLevel="signature|privileged|installer" />
2346
2347    <!-- @SystemApi Allows an application to update the user app op restrictions.
2348         Not for use by third party apps.
2349         @hide -->
2350    <permission android:name="android.permission.MANAGE_APP_OPS_RESTRICTIONS"
2351        android:protectionLevel="signature|installer" />
2352
2353    <!-- @SystemApi Allows an application to open windows that are for use by parts
2354         of the system user interface.
2355         <p>Not for use by third-party applications.
2356         @hide
2357    -->
2358    <permission android:name="android.permission.INTERNAL_SYSTEM_WINDOW"
2359        android:protectionLevel="signature" />
2360
2361    <!-- @SystemApi Allows an application to manage (create, destroy,
2362         Z-order) application tokens in the window manager.
2363         <p>Not for use by third-party applications.
2364         @hide
2365    -->
2366    <permission android:name="android.permission.MANAGE_APP_TOKENS"
2367        android:protectionLevel="signature" />
2368
2369    <!-- Allows System UI to register listeners for events from Window Manager.
2370         @hide -->
2371    <permission android:name="android.permission.REGISTER_WINDOW_MANAGER_LISTENERS"
2372        android:protectionLevel="signature" />
2373
2374    <!-- @hide Allows the application to temporarily freeze the screen for a
2375         full-screen transition. -->
2376    <permission android:name="android.permission.FREEZE_SCREEN"
2377        android:protectionLevel="signature" />
2378
2379    <!-- @SystemApi Allows an application to inject user events (keys, touch, trackball)
2380         into the event stream and deliver them to ANY window.  Without this
2381         permission, you can only deliver events to windows in your own process.
2382         <p>Not for use by third-party applications.
2383         @hide
2384    -->
2385    <permission android:name="android.permission.INJECT_EVENTS"
2386        android:protectionLevel="signature" />
2387
2388    <!-- @hide Allows an application to register an input filter which filters the stream
2389         of user events (keys, touch, trackball) before they are dispatched to any window. -->
2390    <permission android:name="android.permission.FILTER_EVENTS"
2391        android:protectionLevel="signature" />
2392
2393    <!-- @hide Allows an application to retrieve the window token from the accessibility manager. -->
2394    <permission android:name="android.permission.RETRIEVE_WINDOW_TOKEN"
2395        android:protectionLevel="signature" />
2396
2397    <!-- @hide Allows an application to modify accessibility information from another app. -->
2398    <permission android:name="android.permission.MODIFY_ACCESSIBILITY_DATA"
2399                android:protectionLevel="signature" />
2400
2401    <!-- @hide Allows an application to change the accessibility volume. -->
2402    <permission android:name="android.permission.CHANGE_ACCESSIBILITY_VOLUME"
2403                android:protectionLevel="signature" />
2404
2405    <!-- @hide Allows an application to collect frame statistics -->
2406    <permission android:name="android.permission.FRAME_STATS"
2407         android:protectionLevel="signature" />
2408
2409    <!-- @hide Allows an application to temporary enable accessibility on the device. -->
2410    <permission android:name="android.permission.TEMPORARY_ENABLE_ACCESSIBILITY"
2411        android:protectionLevel="signature" />
2412
2413    <!-- @SystemApi Allows an application to watch and control how activities are
2414         started globally in the system.  Only for is in debugging
2415         (usually the monkey command).
2416         <p>Not for use by third-party applications.
2417         @hide
2418    -->
2419    <permission android:name="android.permission.SET_ACTIVITY_WATCHER"
2420        android:protectionLevel="signature" />
2421
2422    <!-- @SystemApi Allows an application to call the activity manager shutdown() API
2423         to put the higher-level system there into a shutdown state.
2424         @hide -->
2425    <permission android:name="android.permission.SHUTDOWN"
2426        android:protectionLevel="signature|privileged" />
2427
2428    <!-- @SystemApi Allows an application to tell the activity manager to temporarily
2429         stop application switches, putting it into a special mode that
2430         prevents applications from immediately switching away from some
2431         critical UI such as the home screen.
2432         @hide -->
2433    <permission android:name="android.permission.STOP_APP_SWITCHES"
2434        android:protectionLevel="signature|privileged" />
2435
2436    <!-- @SystemApi Allows an application to retrieve private information about
2437         the current top activity, such as any assist context it can provide.
2438         <p>Not for use by third-party applications.
2439         @hide
2440    -->
2441    <permission android:name="android.permission.GET_TOP_ACTIVITY_INFO"
2442        android:protectionLevel="signature" />
2443
2444    <!-- Allows an application to retrieve the current state of keys and
2445         switches.
2446         <p>Not for use by third-party applications.
2447         @deprecated The API that used this permission has been removed. -->
2448    <permission android:name="android.permission.READ_INPUT_STATE"
2449        android:protectionLevel="signature" />
2450
2451    <!-- Must be required by an {@link android.inputmethodservice.InputMethodService},
2452         to ensure that only the system can bind to it.
2453         <p>Protection level: signature
2454    -->
2455    <permission android:name="android.permission.BIND_INPUT_METHOD"
2456        android:protectionLevel="signature" />
2457
2458    <!-- Must be required by an {@link android.media.midi.MidiDeviceService},
2459         to ensure that only the system can bind to it.
2460         <p>Protection level: signature
2461    -->
2462    <permission android:name="android.permission.BIND_MIDI_DEVICE_SERVICE"
2463        android:protectionLevel="signature" />
2464
2465    <!-- Must be required by an {@link android.accessibilityservice.AccessibilityService},
2466         to ensure that only the system can bind to it.
2467         <p>Protection level: signature
2468    -->
2469    <permission android:name="android.permission.BIND_ACCESSIBILITY_SERVICE"
2470        android:protectionLevel="signature" />
2471
2472    <!-- Must be required by a {@link android.printservice.PrintService},
2473         to ensure that only the system can bind to it.
2474         <p>Protection level: signature
2475    -->
2476    <permission android:name="android.permission.BIND_PRINT_SERVICE"
2477        android:protectionLevel="signature" />
2478
2479    <!-- Must be required by a {@link android.printservice.recommendation.RecommendationService},
2480     to ensure that only the system can bind to it.
2481     @hide
2482     @SystemApi
2483     <p>Protection level: signature
2484    -->
2485    <permission android:name="android.permission.BIND_PRINT_RECOMMENDATION_SERVICE"
2486            android:protectionLevel="signature" />
2487
2488    <!-- Must be required by a {@link android.nfc.cardemulation.HostApduService}
2489         or {@link android.nfc.cardemulation.OffHostApduService} to ensure that only
2490         the system can bind to it.
2491         <p>Protection level: signature
2492    -->
2493    <permission android:name="android.permission.BIND_NFC_SERVICE"
2494        android:protectionLevel="signature" />
2495
2496    <!-- Must be required by the PrintSpooler to ensure that only the system can bind to it.
2497         @hide -->
2498    <permission android:name="android.permission.BIND_PRINT_SPOOLER_SERVICE"
2499        android:protectionLevel="signature" />
2500
2501    <!-- Must be required by the CompanionDeviceManager to ensure that only the system can bind to it.
2502         @hide -->
2503    <permission android:name="android.permission.BIND_COMPANION_DEVICE_MANAGER_SERVICE"
2504        android:protectionLevel="signature" />
2505
2506    <!-- @SystemApi Must be required by the RuntimePermissionPresenterService to ensure
2507         that only the system can bind to it.
2508         @hide -->
2509    <permission android:name="android.permission.BIND_RUNTIME_PERMISSION_PRESENTER_SERVICE"
2510        android:protectionLevel="signature" />
2511
2512    <!-- Must be required by a TextService (e.g. SpellCheckerService)
2513         to ensure that only the system can bind to it.
2514         <p>Protection level: signature
2515    -->
2516    <permission android:name="android.permission.BIND_TEXT_SERVICE"
2517        android:protectionLevel="signature" />
2518
2519    <!-- Must be required by a {@link android.net.VpnService},
2520         to ensure that only the system can bind to it.
2521         <p>Protection level: signature
2522    -->
2523    <permission android:name="android.permission.BIND_VPN_SERVICE"
2524        android:protectionLevel="signature" />
2525
2526    <!-- Must be required by a {@link android.service.wallpaper.WallpaperService},
2527         to ensure that only the system can bind to it.
2528         <p>Protection level: system|signature
2529    -->
2530    <permission android:name="android.permission.BIND_WALLPAPER"
2531        android:protectionLevel="signature|privileged" />
2532
2533    <!-- Must be required by a {@link android.service.voice.VoiceInteractionService},
2534         to ensure that only the system can bind to it.
2535         <p>Protection level: signature
2536    -->
2537    <permission android:name="android.permission.BIND_VOICE_INTERACTION"
2538        android:protectionLevel="signature" />
2539
2540    <!-- Must be required by a {@link android.service.autofill.AutofillService},
2541         to ensure that only the system can bind to it.
2542         <p>Protection level: signature
2543    -->
2544    <permission android:name="android.permission.BIND_AUTOFILL_SERVICE"
2545        android:protectionLevel="signature" />
2546
2547    <!-- @hide TODO(b/37563972): remove once clients use BIND_AUTOFILL_SERVICE -->
2548    <permission android:name="android.permission.BIND_AUTOFILL"
2549        android:protectionLevel="signature" />
2550
2551    <!-- Must be required by hotword enrollment application,
2552         to ensure that only the system can interact with it.
2553         @hide <p>Not for use by third-party applications.</p> -->
2554    <permission android:name="android.permission.MANAGE_VOICE_KEYPHRASES"
2555        android:protectionLevel="signature|privileged" />
2556
2557    <!-- Must be required by a {@link com.android.media.remotedisplay.RemoteDisplayProvider},
2558         to ensure that only the system can bind to it.
2559         @hide -->
2560    <permission android:name="android.permission.BIND_REMOTE_DISPLAY"
2561        android:protectionLevel="signature" />
2562
2563    <!-- Must be required by a {@link android.media.tv.TvInputService}
2564         to ensure that only the system can bind to it.
2565         <p>Protection level: signature
2566    -->
2567    <permission android:name="android.permission.BIND_TV_INPUT"
2568        android:protectionLevel="signature|privileged" />
2569
2570    <!-- @SystemApi
2571         Must be required by a {@link com.android.media.tv.remoteprovider.TvRemoteProvider}
2572         to ensure that only the system can bind to it.
2573         <p>Protection level: signature|privileged
2574         <p>Not for use by third-party applications. </p>
2575         @hide  -->
2576    <permission android:name="android.permission.BIND_TV_REMOTE_SERVICE"
2577        android:protectionLevel="signature|privileged" />
2578
2579    <!-- @SystemApi
2580         Must be required for a virtual remote controller for TV.
2581         <p>Protection level: signature|privileged
2582         <p>Not for use by third-party applications. </p>
2583         @hide  -->
2584    <permission android:name="android.permission.TV_VIRTUAL_REMOTE_CONTROLLER"
2585        android:protectionLevel="signature|privileged" />
2586
2587    <!-- @SystemApi Allows an application to modify parental controls
2588         <p>Not for use by third-party applications.
2589         @hide -->
2590    <permission android:name="android.permission.MODIFY_PARENTAL_CONTROLS"
2591        android:protectionLevel="signature|privileged" />
2592
2593    <!-- @SystemApi Allows an application to notify TV inputs by sending broadcasts.
2594         <p>Protection level: signature|privileged
2595         <p>Not for use by third-party applications.
2596         @hide -->
2597    <permission android:name="android.permission.NOTIFY_TV_INPUTS"
2598         android:protectionLevel="signature|privileged" />
2599
2600    <!-- Must be required by a {@link android.media.routing.MediaRouteService}
2601         to ensure that only the system can interact with it.
2602         @hide -->
2603    <permission android:name="android.permission.BIND_ROUTE_PROVIDER"
2604        android:protectionLevel="signature" />
2605
2606    <!-- Must be required by device administration receiver, to ensure that only the
2607         system can interact with it.
2608         <p>Protection level: signature
2609    -->
2610    <permission android:name="android.permission.BIND_DEVICE_ADMIN"
2611        android:protectionLevel="signature" />
2612
2613    <!-- @SystemApi Required to add or remove another application as a device admin.
2614         <p>Not for use by third-party applications.
2615         @hide -->
2616    <permission android:name="android.permission.MANAGE_DEVICE_ADMINS"
2617        android:protectionLevel="signature|privileged" />
2618
2619    <!-- @SystemApi Allows low-level access to setting the orientation (actually
2620         rotation) of the screen.
2621         <p>Not for use by third-party applications.
2622         @hide
2623    -->
2624    <permission android:name="android.permission.SET_ORIENTATION"
2625        android:protectionLevel="signature" />
2626
2627    <!-- @SystemApi Allows low-level access to setting the pointer speed.
2628         <p>Not for use by third-party applications.
2629         @hide
2630    -->
2631    <permission android:name="android.permission.SET_POINTER_SPEED"
2632        android:protectionLevel="signature" />
2633
2634    <!-- Allows low-level access to setting input device calibration.
2635         <p>Not for use by normal applications.
2636         @hide -->
2637    <permission android:name="android.permission.SET_INPUT_CALIBRATION"
2638        android:protectionLevel="signature" />
2639
2640    <!-- Allows low-level access to setting the keyboard layout.
2641         <p>Not for use by third-party applications.
2642         @hide -->
2643    <permission android:name="android.permission.SET_KEYBOARD_LAYOUT"
2644        android:protectionLevel="signature" />
2645
2646    <!-- Allows an application to query tablet mode state and monitor changes
2647         in it.
2648         <p>Not for use by third-party applications.
2649         @hide -->
2650    <permission android:name="android.permission.TABLET_MODE"
2651        android:protectionLevel="signature" />
2652
2653    <!-- Allows an application to request installing packages. Apps
2654         targeting APIs greater than 25 must hold this permission in
2655         order to use {@link android.content.Intent#ACTION_INSTALL_PACKAGE}.
2656         <p>Protection level: signature
2657    -->
2658    <permission android:name="android.permission.REQUEST_INSTALL_PACKAGES"
2659        android:label="@string/permlab_requestInstallPackages"
2660        android:description="@string/permdesc_requestInstallPackages"
2661        android:protectionLevel="signature|appop" />
2662
2663    <!-- Allows an application to request deleting packages. Apps
2664         targeting APIs greater than 25 must hold this permission in
2665         order to use {@link android.content.Intent#ACTION_UNINSTALL_PACKAGE}.
2666         <p>Protection level: normal
2667    -->
2668    <permission android:name="android.permission.REQUEST_DELETE_PACKAGES"
2669        android:label="@string/permlab_requestDeletePackages"
2670        android:description="@string/permdesc_requestDeletePackages"
2671        android:protectionLevel="normal" />
2672
2673    <!-- @SystemApi Allows an application to install packages.
2674    <p>Not for use by third-party applications. -->
2675    <permission android:name="android.permission.INSTALL_PACKAGES"
2676        android:protectionLevel="signature|privileged" />
2677
2678    <!-- @SystemApi Allows an application to clear user data.
2679         <p>Not for use by third-party applications
2680         @hide
2681    -->
2682    <permission android:name="android.permission.CLEAR_APP_USER_DATA"
2683        android:protectionLevel="signature|installer" />
2684
2685    <!-- @hide Allows an application to get the URI permissions
2686         granted to another application.
2687         <p>Not for use by third-party applications
2688    -->
2689    <permission android:name="android.permission.GET_APP_GRANTED_URI_PERMISSIONS"
2690        android:protectionLevel="signature" />
2691
2692    <!-- @hide Allows an application to clear the URI permissions
2693         granted to another application.
2694         <p>Not for use by third-party applications
2695    -->
2696    <permission
2697        android:name="android.permission.CLEAR_APP_GRANTED_URI_PERMISSIONS"
2698        android:protectionLevel="signature" />
2699
2700    <!-- @SystemApi Allows an application to delete cache files.
2701    <p>Not for use by third-party applications. -->
2702    <permission android:name="android.permission.DELETE_CACHE_FILES"
2703        android:protectionLevel="signature|privileged" />
2704
2705    <!-- @SystemApi Allows an application to delete packages.
2706         <p>Not for use by third-party applications.
2707         <p>Starting in {@link android.os.Build.VERSION_CODES#N}, user confirmation is requested
2708         when the application deleting the package is not the same application that installed the
2709         package. -->
2710    <permission android:name="android.permission.DELETE_PACKAGES"
2711        android:protectionLevel="signature|privileged" />
2712
2713    <!-- @SystemApi Allows an application to move location of installed package.
2714         @hide -->
2715    <permission android:name="android.permission.MOVE_PACKAGE"
2716        android:protectionLevel="signature|privileged" />
2717
2718    <!-- @SystemApi Allows an application to change whether an application component (other than its own) is
2719         enabled or not.
2720         <p>Not for use by third-party applications. -->
2721    <permission android:name="android.permission.CHANGE_COMPONENT_ENABLED_STATE"
2722        android:protectionLevel="signature|privileged" />
2723
2724    <!-- @SystemApi Allows an application to grant specific permissions.
2725         @hide -->
2726    <permission android:name="android.permission.GRANT_RUNTIME_PERMISSIONS"
2727        android:protectionLevel="signature|installer|verifier" />
2728
2729    <!-- @SystemApi Allows an app that has this permission and the permissions to install packages
2730         to request certain runtime permissions to be granted at installation.
2731         @hide -->
2732    <permission android:name="android.permission.INSTALL_GRANT_RUNTIME_PERMISSIONS"
2733        android:protectionLevel="signature|installer|verifier" />
2734
2735    <!-- @SystemApi Allows an application to revoke specific permissions.
2736        @hide -->
2737    <permission android:name="android.permission.REVOKE_RUNTIME_PERMISSIONS"
2738         android:protectionLevel="signature|installer|verifier" />
2739
2740    <!-- @hide Allows an application to observe permission changes. -->
2741    <permission android:name="android.permission.OBSERVE_GRANT_REVOKE_PERMISSIONS"
2742        android:protectionLevel="signature|privileged" />
2743
2744    <!-- @SystemApi Allows an application to use SurfaceFlinger's low level features.
2745         <p>Not for use by third-party applications.
2746         @hide
2747    -->
2748    <permission android:name="android.permission.ACCESS_SURFACE_FLINGER"
2749        android:protectionLevel="signature" />
2750
2751    <!-- @SystemApi Allows an application to take screen shots and more generally
2752         get access to the frame buffer data.
2753         <p>Not for use by third-party applications. -->
2754    <permission android:name="android.permission.READ_FRAME_BUFFER"
2755        android:protectionLevel="signature|privileged" />
2756
2757    <!-- Allows an application to use InputFlinger's low level features.
2758         @hide -->
2759    <permission android:name="android.permission.ACCESS_INPUT_FLINGER"
2760        android:protectionLevel="signature" />
2761
2762    <!-- Allows an application to configure and connect to Wifi displays
2763         @hide -->
2764    <permission android:name="android.permission.CONFIGURE_WIFI_DISPLAY"
2765        android:protectionLevel="signature" />
2766
2767    <!-- Allows an application to control low-level features of Wifi displays
2768         such as opening an RTSP socket.  This permission should only be used
2769         by the display manager.
2770         @hide -->
2771    <permission android:name="android.permission.CONTROL_WIFI_DISPLAY"
2772        android:protectionLevel="signature" />
2773
2774    <!-- Allows an application to control the color modes set for displays system-wide.
2775         <p>Not for use by third-party applications.</p>
2776         @hide -->
2777    <permission android:name="android.permission.CONFIGURE_DISPLAY_COLOR_MODE"
2778        android:protectionLevel="signature" />
2779
2780    <!-- @SystemApi Allows an application to control VPN.
2781         <p>Not for use by third-party applications.</p>
2782         @hide -->
2783    <permission android:name="android.permission.CONTROL_VPN"
2784        android:protectionLevel="signature|privileged" />
2785    <uses-permission android:name="android.permission.CONTROL_VPN" />
2786
2787    <!-- @SystemApi Allows an application to capture audio output.
2788         <p>Not for use by third-party applications.</p> -->
2789    <permission android:name="android.permission.CAPTURE_AUDIO_OUTPUT"
2790        android:protectionLevel="signature|privileged" />
2791
2792    <!-- @SystemApi Allows an application to capture audio for hotword detection.
2793         <p>Not for use by third-party applications.</p>
2794         @hide -->
2795    <permission android:name="android.permission.CAPTURE_AUDIO_HOTWORD"
2796        android:protectionLevel="signature|privileged" />
2797
2798    <!-- @SystemApi Allows an application to modify audio routing and override policy decisions.
2799         <p>Not for use by third-party applications.</p>
2800         @hide -->
2801    <permission android:name="android.permission.MODIFY_AUDIO_ROUTING"
2802        android:protectionLevel="signature|privileged" />
2803
2804    <!-- @SystemApi Allows an application to capture video output.
2805         <p>Not for use by third-party applications.</p> -->
2806    <permission android:name="android.permission.CAPTURE_VIDEO_OUTPUT"
2807        android:protectionLevel="signature|privileged" />
2808
2809    <!-- @SystemApi Allows an application to capture secure video output.
2810         <p>Not for use by third-party applications.</p> -->
2811    <permission android:name="android.permission.CAPTURE_SECURE_VIDEO_OUTPUT"
2812        android:protectionLevel="signature|privileged" />
2813
2814    <!-- @SystemApi Allows an application to know what content is playing and control its playback.
2815         <p>Not for use by third-party applications due to privacy of media consumption</p>  -->
2816    <permission android:name="android.permission.MEDIA_CONTENT_CONTROL"
2817        android:protectionLevel="signature|privileged" />
2818
2819    <!-- @SystemApi @hide Allows an application to set the volume key long-press listener.
2820         <p>When it's set, the application will receive the volume key long-press event
2821         instead of changing volume.</p>
2822         <p>Not for use by third-party applications</p> -->
2823    <permission android:name="android.permission.SET_VOLUME_KEY_LONG_PRESS_LISTENER"
2824        android:protectionLevel="signature|privileged|development" />
2825
2826    <!-- @SystemApi @hide Allows an application to set media key event listener.
2827         <p>When it's set, the application will receive the media key event before
2828         any other media sessions. If the event is handled by the listener, other sessions
2829         cannot get the event.</p>
2830         <p>Not for use by third-party applications</p> -->
2831    <permission android:name="android.permission.SET_MEDIA_KEY_LISTENER"
2832        android:protectionLevel="signature|privileged|development" />
2833
2834    <!-- @SystemApi Required to be able to disable the device (very dangerous!).
2835         <p>Not for use by third-party applications.
2836         @hide
2837    -->
2838    <permission android:name="android.permission.BRICK"
2839        android:protectionLevel="signature" />
2840
2841    <!-- @SystemApi Required to be able to reboot the device.
2842    <p>Not for use by third-party applications. -->
2843    <permission android:name="android.permission.REBOOT"
2844        android:protectionLevel="signature|privileged" />
2845
2846   <!-- @SystemApi Allows low-level access to power management.
2847        <p>Not for use by third-party applications.
2848        @hide
2849    -->
2850   <permission android:name="android.permission.DEVICE_POWER"
2851        android:protectionLevel="signature" />
2852
2853   <!-- Allows access to the PowerManager.userActivity function.
2854   <p>Not for use by third-party applications. @hide @SystemApi -->
2855    <permission android:name="android.permission.USER_ACTIVITY"
2856        android:protectionLevel="signature|privileged" />
2857
2858   <!-- @hide Allows low-level access to tun tap driver -->
2859    <permission android:name="android.permission.NET_TUNNELING"
2860        android:protectionLevel="signature" />
2861
2862    <!-- Run as a manufacturer test application, running as the root user.
2863         Only available when the device is running in manufacturer test mode.
2864         <p>Not for use by third-party applications.
2865    -->
2866    <permission android:name="android.permission.FACTORY_TEST"
2867        android:protectionLevel="signature" />
2868
2869    <!-- Allows an application to broadcast a notification that an application
2870         package has been removed.
2871         <p>Not for use by third-party applications.
2872    -->
2873    <permission android:name="android.permission.BROADCAST_PACKAGE_REMOVED"
2874        android:protectionLevel="signature" />
2875
2876    <!-- Allows an application to broadcast an SMS receipt notification.
2877         <p>Not for use by third-party applications.
2878    -->
2879    <permission android:name="android.permission.BROADCAST_SMS"
2880        android:protectionLevel="signature" />
2881
2882    <!-- Allows an application to broadcast a WAP PUSH receipt notification.
2883         <p>Not for use by third-party applications.
2884    -->
2885    <permission android:name="android.permission.BROADCAST_WAP_PUSH"
2886        android:protectionLevel="signature" />
2887
2888    <!-- @SystemApi Allows an application to broadcast privileged networking requests.
2889         <p>Not for use by third-party applications.
2890         @hide
2891         @deprecated Use {@link android.Manifest.permission#REQUEST_NETWORK_SCORES} instead
2892    -->
2893    <permission android:name="android.permission.BROADCAST_NETWORK_PRIVILEGED"
2894        android:protectionLevel="signature|privileged" />
2895
2896    <!-- @SystemApi Not for use by third-party applications. -->
2897    <permission android:name="android.permission.MASTER_CLEAR"
2898        android:protectionLevel="signature|privileged" />
2899
2900    <!-- @SystemApi Allows an application to call any phone number, including emergency
2901         numbers, without going through the Dialer user interface for the user
2902         to confirm the call being placed.
2903         <p>Not for use by third-party applications. -->
2904    <permission android:name="android.permission.CALL_PRIVILEGED"
2905        android:protectionLevel="signature|privileged" />
2906
2907    <!-- @SystemApi Allows an application to perform CDMA OTA provisioning @hide -->
2908    <permission android:name="android.permission.PERFORM_CDMA_PROVISIONING"
2909        android:protectionLevel="signature|privileged" />
2910
2911    <!-- @SystemApi Allows an application to perform SIM Activation @hide -->
2912    <permission android:name="android.permission.PERFORM_SIM_ACTIVATION"
2913        android:protectionLevel="signature|privileged" />
2914
2915    <!-- @SystemApi Allows enabling/disabling location update notifications from
2916         the radio.
2917         <p>Not for use by third-party applications. -->
2918    <permission android:name="android.permission.CONTROL_LOCATION_UPDATES"
2919        android:protectionLevel="signature|privileged" />
2920
2921    <!-- @SystemApi Allows read/write access to the "properties" table in the checkin
2922         database, to change values that get uploaded.
2923         <p>Not for use by third-party applications. -->
2924    <permission android:name="android.permission.ACCESS_CHECKIN_PROPERTIES"
2925        android:protectionLevel="signature|privileged" />
2926
2927    <!-- @SystemApi Allows an application to collect component usage
2928         statistics
2929         <p>Declaring the permission implies intention to use the API and the user of the
2930         device can grant permission through the Settings application. -->
2931    <permission android:name="android.permission.PACKAGE_USAGE_STATS"
2932        android:protectionLevel="signature|privileged|development|appop" />
2933    <uses-permission android:name="android.permission.PACKAGE_USAGE_STATS" />
2934
2935    <!-- @hide Allows an application to change the app idle state of an app.
2936         <p>Not for use by third-party applications. -->
2937    <permission android:name="android.permission.CHANGE_APP_IDLE_STATE"
2938        android:protectionLevel="signature" />
2939
2940    <!-- @hide @SystemApi Allows an application to temporarily whitelist an inactive app to
2941         access the network and acquire wakelocks.
2942         <p>Not for use by third-party applications. -->
2943    <permission android:name="android.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST"
2944        android:protectionLevel="signature|privileged" />
2945
2946    <!-- Permission an application must hold in order to use
2947         {@link android.provider.Settings#ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS}.
2948         This is a normal permission: an app requesting it will always be granted the
2949         permission, without the user needing to approve or see it. -->
2950    <permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS"
2951        android:label="@string/permlab_requestIgnoreBatteryOptimizations"
2952        android:description="@string/permdesc_requestIgnoreBatteryOptimizations"
2953        android:protectionLevel="normal" />
2954
2955    <!-- @SystemApi Allows an application to collect battery statistics -->
2956    <permission android:name="android.permission.BATTERY_STATS"
2957        android:protectionLevel="signature|privileged|development" />
2958
2959    <!-- @SystemApi Allows an application to control the backup and restore process.
2960    <p>Not for use by third-party applications.
2961         @hide pending API council -->
2962    <permission android:name="android.permission.BACKUP"
2963        android:protectionLevel="signature|privileged" />
2964
2965    <!-- Allows a package to launch the secure full-backup confirmation UI.
2966         ONLY the system process may hold this permission.
2967         @hide -->
2968    <permission android:name="android.permission.CONFIRM_FULL_BACKUP"
2969        android:protectionLevel="signature" />
2970
2971    <!-- @SystemApi Must be required by a {@link android.widget.RemoteViewsService},
2972         to ensure that only the system can bind to it. -->
2973    <permission android:name="android.permission.BIND_REMOTEVIEWS"
2974        android:protectionLevel="signature|privileged" />
2975
2976    <!-- @SystemApi Allows an application to tell the AppWidget service which application
2977         can access AppWidget's data.  The normal user flow is that a user
2978         picks an AppWidget to go into a particular host, thereby giving that
2979         host application access to the private data from the AppWidget app.
2980         An application that has this permission should honor that contract.
2981         <p>Not for use by third-party applications. -->
2982    <permission android:name="android.permission.BIND_APPWIDGET"
2983        android:protectionLevel="signature|privileged" />
2984
2985    <!-- @SystemApi Private permission, to restrict who can bring up a dialog to add a new
2986         keyguard widget
2987         @hide -->
2988    <permission android:name="android.permission.BIND_KEYGUARD_APPWIDGET"
2989        android:protectionLevel="signature|privileged" />
2990
2991    <!-- @SystemApi Internal permission allowing an application to query/set which
2992         applications can bind AppWidgets.
2993         @hide -->
2994    <permission android:name="android.permission.MODIFY_APPWIDGET_BIND_PERMISSIONS"
2995        android:protectionLevel="signature|privileged" />
2996
2997    <!-- Allows applications to change the background data setting.
2998    <p>Not for use by third-party applications.
2999         @hide pending API council -->
3000    <permission android:name="android.permission.CHANGE_BACKGROUND_DATA_SETTING"
3001        android:protectionLevel="signature" />
3002
3003    <!-- @SystemApi This permission can be used on content providers to allow the global
3004         search system to access their data.  Typically it used when the
3005         provider has some permissions protecting it (which global search
3006         would not be expected to hold), and added as a read-only permission
3007         to the path in the provider where global search queries are
3008         performed.  This permission can not be held by regular applications;
3009         it is used by applications to protect themselves from everyone else
3010         besides global search. -->
3011    <permission android:name="android.permission.GLOBAL_SEARCH"
3012        android:protectionLevel="signature|privileged" />
3013
3014    <!-- Internal permission protecting access to the global search
3015         system: ensures that only the system can access the provider
3016         to perform queries (since this otherwise provides unrestricted
3017         access to a variety of content providers), and to write the
3018         search statistics (to keep applications from gaming the source
3019         ranking).
3020         @hide -->
3021    <permission android:name="android.permission.GLOBAL_SEARCH_CONTROL"
3022        android:protectionLevel="signature" />
3023
3024    <!-- @SystemApi Internal permission to allows an application to read indexable data.
3025        @hide -->
3026    <permission android:name="android.permission.READ_SEARCH_INDEXABLES"
3027        android:protectionLevel="signature|privileged" />
3028
3029    <!-- @SystemApi Allows applications to set a live wallpaper.
3030         @hide XXX Change to signature once the picker is moved to its
3031         own apk as Ghod Intended. -->
3032    <permission android:name="android.permission.SET_WALLPAPER_COMPONENT"
3033        android:protectionLevel="signature|privileged" />
3034
3035    <!-- @SystemApi Allows applications to read dream settings and dream state.
3036         @hide -->
3037    <permission android:name="android.permission.READ_DREAM_STATE"
3038        android:protectionLevel="signature|privileged" />
3039
3040    <!-- @SystemApi Allows applications to write dream settings, and start or stop dreaming.
3041         @hide -->
3042    <permission android:name="android.permission.WRITE_DREAM_STATE"
3043        android:protectionLevel="signature|privileged" />
3044
3045    <!-- @SystemApi Allow an application to read and write the cache partition.
3046         @hide -->
3047    <permission android:name="android.permission.ACCESS_CACHE_FILESYSTEM"
3048        android:protectionLevel="signature|privileged" />
3049
3050    <!-- Must be required by default container service so that only
3051         the system can bind to it and use it to copy
3052         protected data to secure containers or files
3053         accessible to the system.
3054         @hide -->
3055    <permission android:name="android.permission.COPY_PROTECTED_DATA"
3056        android:protectionLevel="signature" />
3057
3058    <!-- @SystemApi Internal permission protecting access to the encryption methods
3059        @hide
3060    -->
3061    <permission android:name="android.permission.CRYPT_KEEPER"
3062        android:protectionLevel="signature|privileged" />
3063
3064    <!-- @SystemApi Allows an application to read historical network usage for
3065         specific networks and applications. @hide -->
3066    <permission android:name="android.permission.READ_NETWORK_USAGE_HISTORY"
3067        android:protectionLevel="signature|privileged" />
3068
3069    <!-- Allows an application to manage network policies (such as warning and disable
3070         limits) and to define application-specific rules. @hide -->
3071    <permission android:name="android.permission.MANAGE_NETWORK_POLICY"
3072        android:protectionLevel="signature" />
3073
3074    <!-- @SystemApi Allows an application to account its network traffic against other UIDs. Used
3075         by system services like download manager and media server. Not for use by
3076         third party apps. @hide -->
3077    <permission android:name="android.permission.MODIFY_NETWORK_ACCOUNTING"
3078        android:protectionLevel="signature|privileged" />
3079
3080    <!-- C2DM permission.
3081         @hide Used internally.
3082     -->
3083    <permission android:name="android.intent.category.MASTER_CLEAR.permission.C2D_MESSAGE"
3084          android:protectionLevel="signature" />
3085    <uses-permission android:name="android.intent.category.MASTER_CLEAR.permission.C2D_MESSAGE"/>
3086
3087    <!-- @SystemApi @hide Package verifier needs to have this permission before the PackageManager will
3088         trust it to verify packages.
3089    -->
3090    <permission android:name="android.permission.PACKAGE_VERIFICATION_AGENT"
3091        android:protectionLevel="signature|privileged" />
3092
3093    <!-- Must be required by package verifier receiver, to ensure that only the
3094         system can interact with it.
3095         @hide
3096    -->
3097    <permission android:name="android.permission.BIND_PACKAGE_VERIFIER"
3098        android:protectionLevel="signature" />
3099
3100    <!-- @SystemApi @hide Intent filter verifier needs to have this permission before the
3101         PackageManager will trust it to verify intent filters.
3102    -->
3103    <permission android:name="android.permission.INTENT_FILTER_VERIFICATION_AGENT"
3104        android:protectionLevel="signature|privileged" />
3105
3106    <!-- Must be required by intent filter verifier receiver, to ensure that only the
3107         system can interact with it.
3108         @hide
3109    -->
3110    <permission android:name="android.permission.BIND_INTENT_FILTER_VERIFIER"
3111        android:protectionLevel="signature" />
3112
3113    <!-- @SystemApi Allows applications to access serial ports via the SerialManager.
3114         @hide -->
3115    <permission android:name="android.permission.SERIAL_PORT"
3116        android:protectionLevel="signature|privileged" />
3117
3118    <!-- Allows the holder to access content providers from outside an ApplicationThread.
3119         This permission is enforced by the ActivityManagerService on the corresponding APIs,
3120         in particular ActivityManagerService#getContentProviderExternal(String) and
3121         ActivityManagerService#removeContentProviderExternal(String).
3122         @hide
3123    -->
3124    <permission android:name="android.permission.ACCESS_CONTENT_PROVIDERS_EXTERNALLY"
3125        android:protectionLevel="signature" />
3126
3127    <!-- @SystemApi Allows an application to hold an UpdateLock, recommending that a headless
3128         OTA reboot *not* occur while the lock is held.
3129         @hide -->
3130    <permission android:name="android.permission.UPDATE_LOCK"
3131        android:protectionLevel="signature|privileged" />
3132
3133    <!-- @SystemApi Allows an application to read the current set of notifications, including
3134         any metadata and intents attached.
3135         @hide -->
3136    <permission android:name="android.permission.ACCESS_NOTIFICATIONS"
3137        android:protectionLevel="signature|privileged|appop" />
3138
3139    <!-- Marker permission for applications that wish to access notification policy.
3140         <p>Protection level: normal
3141    -->
3142    <permission android:name="android.permission.ACCESS_NOTIFICATION_POLICY"
3143        android:description="@string/permdesc_access_notification_policy"
3144        android:label="@string/permlab_access_notification_policy"
3145        android:protectionLevel="normal" />
3146
3147    <!-- Allows modification of do not disturb rules and policies. Only allowed for system
3148        processes.
3149        @hide -->
3150    <permission android:name="android.permission.MANAGE_NOTIFICATIONS"
3151                android:protectionLevel="signature" />
3152
3153    <!-- Allows access to keyguard secure storage.  Only allowed for system processes.
3154        @hide -->
3155    <permission android:name="android.permission.ACCESS_KEYGUARD_SECURE_STORAGE"
3156        android:protectionLevel="signature" />
3157
3158    <!-- Allows managing (adding, removing) fingerprint templates. Reserved for the system. @hide -->
3159    <permission android:name="android.permission.MANAGE_FINGERPRINT"
3160        android:protectionLevel="signature|privileged" />
3161
3162    <!-- Allows an app to reset fingerprint attempt counter. Reserved for the system. @hide -->
3163    <permission android:name="android.permission.RESET_FINGERPRINT_LOCKOUT"
3164        android:protectionLevel="signature" />
3165
3166    <!-- Allows an application to control keyguard.  Only allowed for system processes.
3167        @hide -->
3168    <permission android:name="android.permission.CONTROL_KEYGUARD"
3169        android:protectionLevel="signature" />
3170
3171    <!-- Allows an application to listen to trust changes.  Only allowed for system processes.
3172        @hide -->
3173    <permission android:name="android.permission.TRUST_LISTENER"
3174        android:protectionLevel="signature" />
3175
3176    <!-- @SystemApi Allows an application to provide a trust agent.
3177         @hide For security reasons, this is a platform-only permission. -->
3178    <permission android:name="android.permission.PROVIDE_TRUST_AGENT"
3179        android:protectionLevel="signature|privileged" />
3180
3181    <!-- Allows an application to launch the trust agent settings activity.
3182        @hide -->
3183    <permission android:name="android.permission.LAUNCH_TRUST_AGENT_SETTINGS"
3184        android:protectionLevel="signature|privileged" />
3185
3186    <!-- @SystemApi Must be required by an {@link
3187        android.service.trust.TrustAgentService},
3188        to ensure that only the system can bind to it.
3189        @hide -->
3190    <permission android:name="android.permission.BIND_TRUST_AGENT"
3191        android:protectionLevel="signature" />
3192
3193    <!-- Must be required by an {@link
3194         android.service.notification.NotificationListenerService},
3195         to ensure that only the system can bind to it.
3196         <p>Protection level: signature
3197    -->
3198    <permission android:name="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE"
3199        android:protectionLevel="signature" />
3200
3201    <!-- @SystemApi Must be required by an {@link
3202         android.service.notification.NotificationAssistantService} to ensure that only the system
3203         can bind to it.
3204         <p>Protection level: signature
3205         @hide
3206    -->
3207    <permission android:name="android.permission.BIND_NOTIFICATION_ASSISTANT_SERVICE"
3208        android:protectionLevel="signature" />
3209
3210    <!-- Must be required by a {@link
3211         android.service.chooser.ChooserTargetService}, to ensure that
3212         only the system can bind to it.
3213         <p>Protection level: signature
3214    -->
3215    <permission android:name="android.permission.BIND_CHOOSER_TARGET_SERVICE"
3216        android:protectionLevel="signature" />
3217
3218    <!-- @SystemApi Must be held by services that extend
3219         {@link android.service.resolver.ResolverRankerService}.
3220         <p>Protection level: signature|privileged
3221         @hide
3222    -->
3223    <permission android:name="android.permission.PROVIDE_RESOLVER_RANKER_SERVICE"
3224                android:protectionLevel="signature|privileged" />
3225
3226    <!-- @SystemApi Must be required by services that extend
3227         {@link android.service.resolver.ResolverRankerService}, to ensure that only the system can
3228         bind to them.
3229         <p>Protection level: signature
3230         @hide
3231    -->
3232    <permission android:name="android.permission.BIND_RESOLVER_RANKER_SERVICE"
3233        android:protectionLevel="signature" />
3234
3235    <!-- Must be required by a {@link
3236         android.service.notification.ConditionProviderService},
3237         to ensure that only the system can bind to it.
3238         <p>Protection level: signature
3239         -->
3240    <permission android:name="android.permission.BIND_CONDITION_PROVIDER_SERVICE"
3241        android:protectionLevel="signature" />
3242
3243    <!-- Must be required by an {@link android.service.dreams.DreamService},
3244         to ensure that only the system can bind to it.
3245         <p>Protection level: signature
3246    -->
3247    <permission android:name="android.permission.BIND_DREAM_SERVICE"
3248        android:protectionLevel="signature" />
3249
3250    <!-- Must be required by an {@link android.app.usage.CacheQuotaService} to ensure that only the
3251         system can bind to it.
3252         @hide This is not a third-party API (intended for OEMs and system apps).
3253    -->
3254    <permission android:name="android.permission.BIND_CACHE_QUOTA_SERVICE"
3255                android:protectionLevel="signature" />
3256
3257    <!-- @SystemApi Allows an application to call into a carrier setup flow. It is up to the
3258         carrier setup application to enforce that this permission is required
3259         @hide This is not a third-party API (intended for OEMs and system apps). -->
3260    <permission android:name="android.permission.INVOKE_CARRIER_SETUP"
3261        android:protectionLevel="signature|privileged" />
3262
3263    <!-- @SystemApi Allows an application to listen for network condition observations.
3264         @hide This is not a third-party API (intended for system apps). -->
3265    <permission android:name="android.permission.ACCESS_NETWORK_CONDITIONS"
3266        android:protectionLevel="signature|privileged" />
3267
3268    <!-- @SystemApi Allows an application to provision and access DRM certificates
3269         @hide This is not a third-party API (intended for system apps). -->
3270    <permission android:name="android.permission.ACCESS_DRM_CERTIFICATES"
3271        android:protectionLevel="signature|privileged" />
3272
3273    <!-- Api Allows an application to manage media projection sessions.
3274         @hide This is not a third-party API (intended for system apps). -->
3275    <permission android:name="android.permission.MANAGE_MEDIA_PROJECTION"
3276        android:protectionLevel="signature" />
3277
3278    <!-- @SystemApi Allows an application to read install sessions
3279         @hide This is not a third-party API (intended for system apps). -->
3280    <permission android:name="android.permission.READ_INSTALL_SESSIONS"
3281        android:label="@string/permlab_readInstallSessions"
3282        android:description="@string/permdesc_readInstallSessions"
3283        android:protectionLevel="normal"/>
3284
3285    <!-- @SystemApi Allows an application to remove DRM certificates
3286         @hide This is not a third-party API (intended for system apps). -->
3287    <permission android:name="android.permission.REMOVE_DRM_CERTIFICATES"
3288        android:protectionLevel="signature|privileged" />
3289
3290    <!-- @deprecated Use {@link android.Manifest.permission#BIND_CARRIER_SERVICES} instead -->
3291    <permission android:name="android.permission.BIND_CARRIER_MESSAGING_SERVICE"
3292        android:protectionLevel="signature|privileged" />
3293
3294    <!-- Allows an application to interact with the currently active
3295         {@link android.service.voice.VoiceInteractionService}.
3296         @hide -->
3297    <permission android:name="android.permission.ACCESS_VOICE_INTERACTION_SERVICE"
3298        android:protectionLevel="signature" />
3299
3300    <!-- The system process that is allowed to bind to services in carrier apps will
3301         have this permission. Carrier apps should use this permission to protect
3302         their services that only the system is allowed to bind to.
3303         <p>Protection level: system|signature
3304    -->
3305    <permission android:name="android.permission.BIND_CARRIER_SERVICES"
3306        android:label="@string/permlab_bindCarrierServices"
3307        android:description="@string/permdesc_bindCarrierServices"
3308        android:protectionLevel="signature|privileged" />
3309
3310    <!-- Allows an application to query whether DO_NOT_ASK_CREDENTIALS_ON_BOOT
3311         flag is set.
3312         @hide -->
3313    <permission android:name="android.permission.QUERY_DO_NOT_ASK_CREDENTIALS_ON_BOOT"
3314                android:protectionLevel="signature" />
3315
3316    <!-- @SystemApi Allows applications to kill UIDs.
3317        <p>Not for use by third-party applications.
3318         @hide -->
3319    <permission android:name="android.permission.KILL_UID"
3320                android:protectionLevel="signature|installer" />
3321
3322    <!-- @SystemApi Allows applications to read the local WiFi and Bluetooth MAC address.
3323        @hide -->
3324    <permission android:name="android.permission.LOCAL_MAC_ADDRESS"
3325                android:protectionLevel="signature|privileged" />
3326
3327    <!-- @SystemApi Allows access to MAC addresses of WiFi and Bluetooth peer devices.
3328        @hide -->
3329    <permission android:name="android.permission.PEERS_MAC_ADDRESS"
3330                android:protectionLevel="signature|setup" />
3331
3332    <!-- Allows the Nfc stack to dispatch Nfc messages to applications. Applications
3333        can use this permission to ensure incoming Nfc messages are from the Nfc stack
3334        and not simulated by another application.
3335        @hide -->
3336    <permission android:name="android.permission.DISPATCH_NFC_MESSAGE"
3337                android:protectionLevel="signature|privileged" />
3338
3339    <!-- @SystemApi Allows changing day / night mode when system is configured with
3340         config_lockDayNightMode set to true. If requesting app does not have permission,
3341         it will be ignored.
3342        @hide -->
3343    <permission android:name="android.permission.MODIFY_DAY_NIGHT_MODE"
3344                android:protectionLevel="signature|privileged" />
3345
3346    <!-- The system process is explicitly the only one allowed to launch the
3347         confirmation UI for full backup/restore -->
3348    <uses-permission android:name="android.permission.CONFIRM_FULL_BACKUP"/>
3349
3350
3351    <!-- Allows the holder to access the instant applications on the device.
3352    @hide -->
3353    <permission android:name="android.permission.ACCESS_INSTANT_APPS"
3354            android:protectionLevel="signature|installer|verifier" />
3355
3356    <!-- Allows receiving the usage of media resource e.g. video/audio codec and
3357         graphic memory.
3358         @hide -->
3359    <permission android:name="android.permission.RECEIVE_MEDIA_RESOURCE_USAGE"
3360                android:protectionLevel="signature|privileged" />
3361
3362    <!-- Must be required by system/priv apps when accessing the sound trigger
3363         APIs given by {@link SoundTriggerManager}.
3364         @hide <p>Not for use by third-party applications.</p> -->
3365    <permission android:name="android.permission.MANAGE_SOUND_TRIGGER"
3366        android:protectionLevel="signature|privileged" />
3367
3368    <!-- @SystemApi Allows trusted applications to dispatch managed provisioning message to Managed
3369         Provisioning app. If requesting app does not have permission, it will be ignored.
3370         @hide -->
3371    <permission android:name="android.permission.DISPATCH_PROVISIONING_MESSAGE"
3372                android:protectionLevel="signature|privileged" />
3373
3374    <!-- Allows the holder to read blocked numbers. See
3375         {@link android.provider.BlockedNumberContract}.
3376         @hide -->
3377    <permission android:name="android.permission.READ_BLOCKED_NUMBERS"
3378                android:protectionLevel="signature" />
3379
3380    <!-- Allows the holder to write blocked numbers. See
3381         {@link android.provider.BlockedNumberContract}.
3382         @hide -->
3383    <permission android:name="android.permission.WRITE_BLOCKED_NUMBERS"
3384                android:protectionLevel="signature" />
3385
3386    <!-- Must be required by an {@link android.service.vr.VrListenerService}, to ensure that only
3387         the system can bind to it.
3388         <p>Protection level: signature -->
3389    <permission android:name="android.permission.BIND_VR_LISTENER_SERVICE"
3390        android:protectionLevel="signature" />
3391
3392    <!-- Must be required by system apps when accessing restricted VR APIs.
3393         @hide
3394         @SystemApi
3395         <p>Protection level: signature -->
3396    <permission android:name="android.permission.RESTRICTED_VR_ACCESS"
3397        android:protectionLevel="signature|preinstalled" />
3398
3399    <!-- Required to make calls to {@link android.service.vr.IVrManager}.
3400         @hide -->
3401    <permission android:name="android.permission.ACCESS_VR_MANAGER"
3402            android:protectionLevel="signature" />
3403
3404    <!-- Allows an application to whitelist tasks during lock task mode
3405         @hide <p>Not for use by third-party applications.</p> -->
3406    <permission android:name="android.permission.UPDATE_LOCK_TASK_PACKAGES"
3407        android:protectionLevel="signature|setup" />
3408
3409    <!-- @SystemApi Allows an application to replace the app name displayed alongside notifications
3410         in the N-release and later.
3411         @hide  <p>Not for use by third-party applications.</p> -->
3412    <permission android:name="android.permission.SUBSTITUTE_NOTIFICATION_APP_NAME"
3413                android:protectionLevel="signature|privileged" />
3414
3415    <!-- @SystemApi Allows an application to show notifications before the device is provisioned.
3416         @hide  <p>Not for use by third-party applications.</p> -->
3417    <permission android:name="android.permission.NOTIFICATION_DURING_SETUP"
3418                android:protectionLevel="signature|privileged" />
3419
3420    <!-- @SystemApi Allows an application to manage auto-fill sessions.
3421         @hide  <p>Not for use by third-party applications.</p> -->
3422    <permission android:name="android.permission.MANAGE_AUTO_FILL"
3423        android:protectionLevel="signature" />
3424
3425    <!-- Allows an app to set the theme overlay in /vendor/overlay
3426         being used.
3427         @hide  <p>Not for use by third-party applications.</p> -->
3428    <permission android:name="android.permission.MODIFY_THEME_OVERLAY"
3429                android:protectionLevel="signature" />
3430
3431    <!-- Allows an instant app to create foreground services. -->
3432    <permission android:name="android.permission.INSTANT_APP_FOREGROUND_SERVICE"
3433        android:protectionLevel="signature|development|ephemeral|appop" />
3434
3435    <application android:process="system"
3436                 android:persistent="true"
3437                 android:hasCode="false"
3438                 android:label="@string/android_system_label"
3439                 android:allowClearUserData="false"
3440                 android:backupAgent="com.android.server.backup.SystemBackupAgent"
3441                 android:killAfterRestore="false"
3442                 android:icon="@drawable/ic_launcher_android"
3443                 android:supportsRtl="true"
3444                 android:theme="@style/Theme.DeviceDefault.Light.DarkActionBar"
3445                 android:defaultToDeviceProtectedStorage="true"
3446                 android:directBootAware="true">
3447        <activity android:name="com.android.internal.app.ChooserActivity"
3448                android:theme="@style/Theme.DeviceDefault.Resolver"
3449                android:finishOnCloseSystemDialogs="true"
3450                android:excludeFromRecents="true"
3451                android:documentLaunchMode="never"
3452                android:relinquishTaskIdentity="true"
3453                android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation|keyboard|keyboardHidden"
3454                android:process=":ui"
3455                android:visibleToInstantApps="true">
3456            <intent-filter>
3457                <action android:name="android.intent.action.CHOOSER" />
3458                <category android:name="android.intent.category.DEFAULT" />
3459                <category android:name="android.intent.category.VOICE" />
3460            </intent-filter>
3461        </activity>
3462        <activity android:name="com.android.internal.app.AccessibilityButtonChooserActivity"
3463                  android:exported="false"
3464                  android:theme="@style/Theme.DeviceDefault.Resolver"
3465                  android:finishOnCloseSystemDialogs="true"
3466                  android:excludeFromRecents="true"
3467                  android:documentLaunchMode="never"
3468                  android:relinquishTaskIdentity="true"
3469                  android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation|keyboard|keyboardHidden"
3470                  android:process=":ui"
3471                  android:visibleToInstantApps="true">
3472            <intent-filter>
3473                <action android:name="com.android.internal.intent.action.CHOOSE_ACCESSIBILITY_BUTTON" />
3474                <category android:name="android.intent.category.DEFAULT" />
3475            </intent-filter>
3476        </activity>
3477        <activity android:name="com.android.internal.app.IntentForwarderActivity"
3478                android:finishOnCloseSystemDialogs="true"
3479                android:theme="@style/Theme.NoDisplay"
3480                android:excludeFromRecents="true"
3481                android:label="@string/user_owner_label"
3482                android:exported="true"
3483                >
3484        </activity>
3485        <activity-alias android:name="com.android.internal.app.ForwardIntentToParent"
3486                android:targetActivity="com.android.internal.app.IntentForwarderActivity"
3487                android:exported="true"
3488                android:label="@string/user_owner_label">
3489        </activity-alias>
3490        <activity-alias android:name="com.android.internal.app.ForwardIntentToManagedProfile"
3491                android:targetActivity="com.android.internal.app.IntentForwarderActivity"
3492                android:icon="@drawable/ic_corp_icon"
3493                android:exported="true"
3494                android:label="@string/managed_profile_label">
3495        </activity-alias>
3496        <activity android:name="com.android.internal.app.HeavyWeightSwitcherActivity"
3497                android:theme="@style/Theme.DeviceDefault.Light.Dialog"
3498                android:label="@string/heavy_weight_switcher_title"
3499                android:finishOnCloseSystemDialogs="true"
3500                android:excludeFromRecents="true"
3501                android:process=":ui">
3502        </activity>
3503        <activity android:name="com.android.internal.app.PlatLogoActivity"
3504                android:theme="@style/Theme.Wallpaper.NoTitleBar.Fullscreen"
3505                android:configChanges="orientation|keyboardHidden"
3506                android:process=":ui">
3507        </activity>
3508        <activity android:name="com.android.internal.app.DisableCarModeActivity"
3509                android:theme="@style/Theme.NoDisplay"
3510                android:excludeFromRecents="true"
3511                android:process=":ui">
3512        </activity>
3513        <activity android:name="com.android.internal.app.DumpHeapActivity"
3514                android:theme="@style/Theme.Translucent.NoTitleBar"
3515                android:label="@string/dump_heap_title"
3516                android:finishOnCloseSystemDialogs="true"
3517                android:noHistory="true"
3518                android:excludeFromRecents="true"
3519                android:process=":ui">
3520        </activity>
3521        <provider android:name="com.android.server.am.DumpHeapProvider"
3522                android:authorities="com.android.server.heapdump"
3523                android:grantUriPermissions="true"
3524                android:multiprocess="false"
3525                android:singleUser="true" />
3526
3527        <activity android:name="android.accounts.ChooseAccountActivity"
3528                android:excludeFromRecents="true"
3529                android:exported="true"
3530                android:theme="@style/Theme.DeviceDefault.Light.Dialog"
3531                android:label="@string/choose_account_label"
3532                android:process=":ui"
3533                android:visibleToInstantApps="true">
3534        </activity>
3535
3536        <activity android:name="android.accounts.ChooseTypeAndAccountActivity"
3537                android:excludeFromRecents="true"
3538                android:exported="true"
3539                android:theme="@style/Theme.DeviceDefault.Light.Dialog"
3540                android:label="@string/choose_account_label"
3541                android:process=":ui"
3542                android:visibleToInstantApps="true">
3543        </activity>
3544
3545        <activity android:name="android.accounts.ChooseAccountTypeActivity"
3546                android:excludeFromRecents="true"
3547                android:theme="@style/Theme.DeviceDefault.Light.Dialog"
3548                android:label="@string/choose_account_label"
3549                android:process=":ui"
3550                android:visibleToInstantApps="true">
3551        </activity>
3552
3553        <activity android:name="android.accounts.CantAddAccountActivity"
3554                android:excludeFromRecents="true"
3555                android:exported="true"
3556                android:theme="@style/Theme.DeviceDefault.Light.Dialog.NoActionBar"
3557                android:process=":ui">
3558        </activity>
3559
3560        <activity android:name="android.accounts.GrantCredentialsPermissionActivity"
3561                android:excludeFromRecents="true"
3562                android:exported="true"
3563                android:theme="@style/Theme.DeviceDefault.Light.DialogWhenLarge"
3564                android:process=":ui"
3565                android:visibleToInstantApps="true">
3566        </activity>
3567
3568        <activity android:name="android.content.SyncActivityTooManyDeletes"
3569               android:theme="@style/Theme.DeviceDefault.Light.Dialog"
3570               android:label="@string/sync_too_many_deletes"
3571               android:process=":ui">
3572        </activity>
3573
3574        <activity android:name="com.android.internal.app.ShutdownActivity"
3575            android:permission="android.permission.SHUTDOWN"
3576            android:theme="@style/Theme.NoDisplay"
3577            android:excludeFromRecents="true">
3578            <intent-filter>
3579                <action android:name="com.android.internal.intent.action.REQUEST_SHUTDOWN" />
3580                <category android:name="android.intent.category.DEFAULT" />
3581            </intent-filter>
3582            <intent-filter>
3583                <action android:name="android.intent.action.REBOOT" />
3584                <category android:name="android.intent.category.DEFAULT" />
3585            </intent-filter>
3586        </activity>
3587
3588        <activity android:name="com.android.internal.app.NetInitiatedActivity"
3589                android:theme="@style/Theme.DeviceDefault.Light.Dialog.Alert"
3590                android:excludeFromRecents="true"
3591                android:process=":ui">
3592        </activity>
3593
3594        <activity android:name="com.android.internal.app.SystemUserHomeActivity"
3595                  android:enabled="false"
3596                  android:process=":ui"
3597                  android:systemUserOnly="true"
3598                  android:theme="@style/Theme.Translucent.NoTitleBar">
3599            <intent-filter android:priority="-100">
3600                <action android:name="android.intent.action.MAIN" />
3601                <category android:name="android.intent.category.HOME" />
3602            </intent-filter>
3603        </activity>
3604
3605        <!-- Activity to prompt user if it's ok to create a new user sandbox for a
3606             specified account. -->
3607        <activity android:name="com.android.internal.app.ConfirmUserCreationActivity"
3608                android:excludeFromRecents="true"
3609                android:process=":ui"
3610                android:theme="@style/Theme.DeviceDefault.Light.Dialog.Alert">
3611            <intent-filter android:priority="1000">
3612                <action android:name="android.os.action.CREATE_USER" />
3613                <category android:name="android.intent.category.DEFAULT" />
3614            </intent-filter>
3615        </activity>
3616
3617        <activity android:name="com.android.internal.app.UnlaunchableAppActivity"
3618                android:theme="@style/Theme.DeviceDefault.Light.Dialog.Alert"
3619                android:excludeFromRecents="true"
3620                android:process=":ui">
3621        </activity>
3622
3623        <activity android:name="com.android.settings.notification.NotificationAccessConfirmationActivity"
3624                  android:theme="@android:style/Theme.DeviceDefault.Light.Dialog.Alert"
3625                  android:excludeFromRecents="true">
3626        </activity>
3627
3628        <receiver android:name="com.android.server.BootReceiver"
3629                android:systemUserOnly="true">
3630            <intent-filter android:priority="1000">
3631                <action android:name="android.intent.action.BOOT_COMPLETED" />
3632            </intent-filter>
3633        </receiver>
3634
3635        <receiver android:name="com.android.server.updates.CertPinInstallReceiver"
3636                android:permission="android.permission.UPDATE_CONFIG">
3637            <intent-filter>
3638                <action android:name="android.intent.action.UPDATE_PINS" />
3639                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
3640            </intent-filter>
3641        </receiver>
3642
3643        <receiver android:name="com.android.server.updates.IntentFirewallInstallReceiver"
3644                android:permission="android.permission.UPDATE_CONFIG">
3645            <intent-filter>
3646                <action android:name="android.intent.action.UPDATE_INTENT_FIREWALL" />
3647                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
3648            </intent-filter>
3649        </receiver>
3650
3651        <receiver android:name="com.android.server.updates.SmsShortCodesInstallReceiver"
3652                android:permission="android.permission.UPDATE_CONFIG">
3653            <intent-filter>
3654                <action android:name="android.intent.action.UPDATE_SMS_SHORT_CODES" />
3655                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
3656            </intent-filter>
3657        </receiver>
3658
3659        <receiver android:name="com.android.server.updates.ApnDbInstallReceiver"
3660                android:permission="android.permission.UPDATE_CONFIG">
3661            <intent-filter>
3662                <action android:name="com.android.internal.intent.action.UPDATE_APN_DB" />
3663                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
3664            </intent-filter>
3665        </receiver>
3666
3667        <receiver android:name="com.android.server.updates.CarrierProvisioningUrlsInstallReceiver"
3668                android:permission="android.permission.UPDATE_CONFIG">
3669            <intent-filter>
3670                <action android:name="android.intent.action.UPDATE_CARRIER_PROVISIONING_URLS" />
3671                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
3672            </intent-filter>
3673        </receiver>
3674
3675        <receiver android:name="com.android.server.updates.TzDataInstallReceiver"
3676                android:permission="android.permission.UPDATE_CONFIG">
3677            <intent-filter>
3678                <action android:name="android.intent.action.UPDATE_TZDATA" />
3679                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
3680            </intent-filter>
3681        </receiver>
3682
3683        <receiver android:name="com.android.server.updates.CertificateTransparencyLogInstallReceiver"
3684                android:permission="android.permission.UPDATE_CONFIG">
3685            <intent-filter>
3686                <action android:name="android.intent.action.UPDATE_CT_LOGS" />
3687                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
3688            </intent-filter>
3689        </receiver>
3690
3691        <receiver android:name="com.android.server.updates.LangIdInstallReceiver"
3692                android:permission="android.permission.UPDATE_CONFIG">
3693            <intent-filter>
3694                <action android:name="android.intent.action.UPDATE_LANG_ID" />
3695                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
3696            </intent-filter>
3697        </receiver>
3698
3699        <receiver android:name="com.android.server.updates.SmartSelectionInstallReceiver"
3700                android:permission="android.permission.UPDATE_CONFIG">
3701            <intent-filter>
3702                <action android:name="android.intent.action.UPDATE_SMART_SELECTION" />
3703                <data android:scheme="content" android:host="*" android:mimeType="*/*" />
3704            </intent-filter>
3705        </receiver>
3706
3707        <receiver android:name="com.android.server.MasterClearReceiver"
3708            android:permission="android.permission.MASTER_CLEAR">
3709            <intent-filter
3710                    android:priority="100" >
3711                <!-- For Checkin, Settings, etc.: action=FACTORY_RESET -->
3712                <action android:name="android.intent.action.FACTORY_RESET" />
3713                <!-- As above until all the references to the deprecated MASTER_CLEAR get updated to
3714                     FACTORY_RESET. -->
3715                <action android:name="android.intent.action.MASTER_CLEAR" />
3716
3717                <!-- MCS always uses REMOTE_INTENT: category=MASTER_CLEAR -->
3718                <action android:name="com.google.android.c2dm.intent.RECEIVE" />
3719                <category android:name="android.intent.category.MASTER_CLEAR" />
3720            </intent-filter>
3721        </receiver>
3722
3723        <service android:name="android.hardware.location.GeofenceHardwareService"
3724            android:permission="android.permission.LOCATION_HARDWARE"
3725            android:exported="false" />
3726
3727        <service android:name="com.android.internal.backup.LocalTransportService"
3728                android:permission="android.permission.CONFIRM_FULL_BACKUP"
3729                android:exported="false">
3730            <intent-filter>
3731                <action android:name="android.backup.TRANSPORT_HOST" />
3732            </intent-filter>
3733        </service>
3734
3735        <service android:name="com.android.server.MountServiceIdler"
3736                 android:exported="true"
3737                 android:permission="android.permission.BIND_JOB_SERVICE" >
3738        </service>
3739
3740        <service android:name="com.android.server.backup.FullBackupJob"
3741                 android:exported="true"
3742                 android:permission="android.permission.BIND_JOB_SERVICE" >
3743        </service>
3744
3745        <service android:name="com.android.server.backup.KeyValueBackupJob"
3746                 android:permission="android.permission.BIND_JOB_SERVICE" >
3747        </service>
3748
3749        <service android:name="com.android.server.content.SyncJobService"
3750                 android:permission="android.permission.BIND_JOB_SERVICE" >
3751        </service>
3752
3753        <service android:name="com.android.server.pm.BackgroundDexOptService"
3754                 android:exported="true"
3755                 android:permission="android.permission.BIND_JOB_SERVICE">
3756        </service>
3757
3758        <service android:name="com.android.server.PruneInstantAppsJobService"
3759                 android:permission="android.permission.BIND_JOB_SERVICE" >
3760        </service>
3761
3762        <service android:name="com.android.server.storage.DiskStatsLoggingService"
3763                 android:permission="android.permission.BIND_JOB_SERVICE" >
3764        </service>
3765
3766        <service android:name="com.android.server.PreloadsFileCacheExpirationJobService"
3767                 android:permission="android.permission.BIND_JOB_SERVICE" >
3768        </service>
3769    </application>
3770
3771</manifest>
3772