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