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