OSDN Git Service

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