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