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