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