1{
2  "meta": {
3    "source": "https://developer.android.com/reference/android/Manifest.permission",
4    "scrapedAt": "2021-07-21T21:09:09Z"
5  },
6  "data": {
7    "ACCEPT_HANDOVER": {
8      "apiAdded": 28,
9      "apiDeprecated": null,
10      "apiReplaced": null,
11      "name": "ACCEPT_HANDOVER",
12      "description": "Allows a calling app to continue a call which was started in another app.",
13      "explanation": "An example is a video calling app that wants to continue a voice call on the user's mobile network.",
14      "constant": "android.permission.ACCEPT_HANDOVER",
15      "protection": "dangerous",
16      "warning": null
17    },
18    "ACCESS_BACKGROUND_LOCATION": {
19      "apiAdded": 29,
20      "apiDeprecated": null,
21      "apiReplaced": null,
22      "name": "ACCESS_BACKGROUND_LOCATION",
23      "description": "Allows an app to access location in the background.",
24      "explanation": "If you're requesting this permission, you must also request either <code translate=\"no\" dir=\"ltr\"><a href=\"https://developer.android.com/reference/android/Manifest.permission#ACCESS_COARSE_LOCATION\">ACCESS_COARSE_LOCATION</a></code> or <code translate=\"no\" dir=\"ltr\"><a href=\"https://developer.android.com/reference/android/Manifest.permission#ACCESS_FINE_LOCATION\">ACCESS_FINE_LOCATION</a></code>. Requesting this permission by itself doesn't give you location access.",
25      "constant": "android.permission.ACCESS_BACKGROUND_LOCATION",
26      "protection": "dangerous",
27      "warning": null
28    },
29    "ACCESS_BLOBS_ACROSS_USERS": {
30      "apiAdded": 31,
31      "apiDeprecated": null,
32      "apiReplaced": null,
33      "name": "ACCESS_BLOBS_ACROSS_USERS",
34      "description": "Allows an application to access data blobs across users.",
35      "explanation": null,
36      "constant": "android.permission.ACCESS_BLOBS_ACROSS_USERS",
37      "protection": null,
38      "warning": null
39    },
40    "ACCESS_CHECKIN_PROPERTIES": {
41      "apiAdded": 1,
42      "apiDeprecated": null,
43      "apiReplaced": null,
44      "name": "ACCESS_CHECKIN_PROPERTIES",
45      "description": "Allows read/write access to the \"properties\" table in the checkin database, to change values that get uploaded.",
46      "explanation": null,
47      "constant": "android.permission.ACCESS_CHECKIN_PROPERTIES",
48      "protection": null,
49      "warning": null
50    },
51    "ACCESS_COARSE_LOCATION": {
52      "apiAdded": 1,
53      "apiDeprecated": null,
54      "apiReplaced": null,
55      "name": "ACCESS_COARSE_LOCATION",
56      "description": "Allows an app to access approximate location.",
57      "explanation": null,
58      "constant": "android.permission.ACCESS_COARSE_LOCATION",
59      "protection": "dangerous",
60      "warning": null
61    },
62    "ACCESS_FINE_LOCATION": {
63      "apiAdded": 1,
64      "apiDeprecated": null,
65      "apiReplaced": null,
66      "name": "ACCESS_FINE_LOCATION",
67      "description": "Allows an app to access precise location.",
68      "explanation": null,
69      "constant": "android.permission.ACCESS_FINE_LOCATION",
70      "protection": "dangerous",
71      "warning": null
72    },
73    "ACCESS_LOCATION_EXTRA_COMMANDS": {
74      "apiAdded": 1,
75      "apiDeprecated": null,
76      "apiReplaced": null,
77      "name": "ACCESS_LOCATION_EXTRA_COMMANDS",
78      "description": "Allows an application to access extra location provider commands.",
79      "explanation": null,
80      "constant": "android.permission.ACCESS_LOCATION_EXTRA_COMMANDS",
81      "protection": "normal",
82      "warning": null
83    },
84    "ACCESS_MEDIA_LOCATION": {
85      "apiAdded": 29,
86      "apiDeprecated": null,
87      "apiReplaced": null,
88      "name": "ACCESS_MEDIA_LOCATION",
89      "description": "Allows an application to access any geographic locations persisted in the user's shared collection.",
90      "explanation": null,
91      "constant": "android.permission.ACCESS_MEDIA_LOCATION",
92      "protection": "dangerous",
93      "warning": null
94    },
95    "ACCESS_NETWORK_STATE": {
96      "apiAdded": 1,
97      "apiDeprecated": null,
98      "apiReplaced": null,
99      "name": "ACCESS_NETWORK_STATE",
100      "description": "Allows applications to access information about networks.",
101      "explanation": null,
102      "constant": "android.permission.ACCESS_NETWORK_STATE",
103      "protection": "normal",
104      "warning": null
105    },
106    "ACCESS_NOTIFICATION_POLICY": {
107      "apiAdded": 23,
108      "apiDeprecated": null,
109      "apiReplaced": null,
110      "name": "ACCESS_NOTIFICATION_POLICY",
111      "description": "Marker permission for applications that wish to access notification policy.",
112      "explanation": "This permission is not supported on managed profiles.",
113      "constant": "android.permission.ACCESS_NOTIFICATION_POLICY",
114      "protection": "normal",
115      "warning": null
116    },
117    "ACCESS_WIFI_STATE": {
118      "apiAdded": 1,
119      "apiDeprecated": null,
120      "apiReplaced": null,
121      "name": "ACCESS_WIFI_STATE",
122      "description": "Allows applications to access information about Wi-Fi networks.",
123      "explanation": null,
124      "constant": "android.permission.ACCESS_WIFI_STATE",
125      "protection": "normal",
126      "warning": null
127    },
128    "ACCOUNT_MANAGER": {
129      "apiAdded": 5,
130      "apiDeprecated": null,
131      "apiReplaced": null,
132      "name": "ACCOUNT_MANAGER",
133      "description": "Allows applications to call into AccountAuthenticators.",
134      "explanation": null,
135      "constant": "android.permission.ACCOUNT_MANAGER",
136      "protection": null,
137      "warning": null
138    },
139    "ACTIVITY_RECOGNITION": {
140      "apiAdded": 29,
141      "apiDeprecated": null,
142      "apiReplaced": null,
143      "name": "ACTIVITY_RECOGNITION",
144      "description": "Allows an application to recognize physical activity.",
145      "explanation": null,
146      "constant": "android.permission.ACTIVITY_RECOGNITION",
147      "protection": "dangerous",
148      "warning": null
149    },
150    "ADD_VOICEMAIL": {
151      "apiAdded": 14,
152      "apiDeprecated": null,
153      "apiReplaced": null,
154      "name": "ADD_VOICEMAIL",
155      "description": "Allows an application to add voicemails into the system.",
156      "explanation": null,
157      "constant": "com.android.voicemail.permission.ADD_VOICEMAIL",
158      "protection": "dangerous",
159      "warning": null
160    },
161    "ANSWER_PHONE_CALLS": {
162      "apiAdded": 26,
163      "apiDeprecated": null,
164      "apiReplaced": null,
165      "name": "ANSWER_PHONE_CALLS",
166      "description": "Allows the app to answer an incoming phone call.",
167      "explanation": null,
168      "constant": "android.permission.ANSWER_PHONE_CALLS",
169      "protection": "dangerous",
170      "warning": null
171    },
172    "BATTERY_STATS": {
173      "apiAdded": 1,
174      "apiDeprecated": null,
175      "apiReplaced": null,
176      "name": "BATTERY_STATS",
177      "description": "Allows an application to collect battery statistics",
178      "explanation": null,
179      "constant": "android.permission.BATTERY_STATS",
180      "protection": "signature|privileged|development",
181      "warning": null
182    },
183    "BIND_ACCESSIBILITY_SERVICE": {
184      "apiAdded": 16,
185      "apiDeprecated": null,
186      "apiReplaced": null,
187      "name": "BIND_ACCESSIBILITY_SERVICE",
188      "description": "Must be required by an AccessibilityService, to ensure that only the system can bind to it.",
189      "explanation": "Must be required by an <code translate=\"no\" dir=\"ltr\"><a href=\"https://developer.android.com/reference/android/accessibilityservice/AccessibilityService\">AccessibilityService</a></code>, to ensure that only the system can bind to it.",
190      "constant": "android.permission.BIND_ACCESSIBILITY_SERVICE",
191      "protection": "signature",
192      "warning": null
193    },
194    "BIND_APPWIDGET": {
195      "apiAdded": 3,
196      "apiDeprecated": null,
197      "apiReplaced": null,
198      "name": "BIND_APPWIDGET",
199      "description": "Allows an application to tell the AppWidget service which application can access AppWidget's data.",
200      "explanation": "The normal user flow is that a user picks an AppWidget to go into a particular host, thereby giving that host application access to the private data from the AppWidget app. An application that has this permission should honor that contract.",
201      "constant": "android.permission.BIND_APPWIDGET",
202      "protection": null,
203      "warning": null
204    },
205    "BIND_AUTOFILL_SERVICE": {
206      "apiAdded": 26,
207      "apiDeprecated": null,
208      "apiReplaced": null,
209      "name": "BIND_AUTOFILL_SERVICE",
210      "description": "Must be required by a AutofillService, to ensure that only the system can bind to it.",
211      "explanation": "Must be required by a <code translate=\"no\" dir=\"ltr\"><a href=\"https://developer.android.com/reference/android/service/autofill/AutofillService\">AutofillService</a></code>, to ensure that only the system can bind to it.",
212      "constant": "android.permission.BIND_AUTOFILL_SERVICE",
213      "protection": "signature",
214      "warning": null
215    },
216    "BIND_CALL_REDIRECTION_SERVICE": {
217      "apiAdded": 29,
218      "apiDeprecated": null,
219      "apiReplaced": null,
220      "name": "BIND_CALL_REDIRECTION_SERVICE",
221      "description": "Must be required by a CallRedirectionService, to ensure that only the system can bind to it.",
222      "explanation": "Must be required by a <code translate=\"no\" dir=\"ltr\"><a href=\"https://developer.android.com/reference/android/telecom/CallRedirectionService\">CallRedirectionService</a></code>, to ensure that only the system can bind to it.",
223      "constant": "android.permission.BIND_CALL_REDIRECTION_SERVICE",
224      "protection": "signature|privileged",
225      "warning": null
226    },
227    "BIND_CARRIER_MESSAGING_CLIENT_SERVICE": {
228      "apiAdded": 29,
229      "apiDeprecated": null,
230      "apiReplaced": null,
231      "name": "BIND_CARRIER_MESSAGING_CLIENT_SERVICE",
232      "description": "A subclass of CarrierMessagingClientService must be protected with this permission.",
233      "explanation": "A subclass of <code translate=\"no\" dir=\"ltr\"><a href=\"https://developer.android.com/reference/android/service/carrier/CarrierMessagingClientService\">CarrierMessagingClientService</a></code> must be protected with this permission.",
234      "constant": "android.permission.BIND_CARRIER_MESSAGING_CLIENT_SERVICE",
235      "protection": "signature",
236      "warning": null
237    },
238    "BIND_CARRIER_MESSAGING_SERVICE": {
239      "apiAdded": 22,
240      "apiDeprecated": 23,
241      "apiReplaced": "BIND_CARRIER_SERVICES",
242      "name": "BIND_CARRIER_MESSAGING_SERVICE",
243      "description": "",
244      "explanation": null,
245      "constant": "android.permission.BIND_CARRIER_MESSAGING_SERVICE",
246      "protection": null,
247      "warning": "This constant was deprecated in API level 23. Use BIND_CARRIER_SERVICES instead"
248    },
249    "BIND_CARRIER_SERVICES": {
250      "apiAdded": 23,
251      "apiDeprecated": null,
252      "apiReplaced": null,
253      "name": "BIND_CARRIER_SERVICES",
254      "description": "The system process that is allowed to bind to services in carrier apps will have this permission.",
255      "explanation": "Carrier apps should use this permission to protect their services that only the system is allowed to bind to.",
256      "constant": "android.permission.BIND_CARRIER_SERVICES",
257      "protection": "signature|privileged",
258      "warning": null
259    },
260    "BIND_CHOOSER_TARGET_SERVICE": {
261      "apiAdded": 23,
262      "apiDeprecated": 30,
263      "apiReplaced": null,
264      "name": "BIND_CHOOSER_TARGET_SERVICE",
265      "description": "",
266      "explanation": null,
267      "constant": "android.permission.BIND_CHOOSER_TARGET_SERVICE",
268      "protection": "signature",
269      "warning": "This constant was deprecated in API level 30. For publishing direct share targets, please follow the instructions in https://developer.android.com/training/sharing/receive.html#providing-direct-share-targets instead."
270    },
271    "BIND_COMPANION_DEVICE_SERVICE": {
272      "apiAdded": 31,
273      "apiDeprecated": null,
274      "apiReplaced": null,
275      "name": "BIND_COMPANION_DEVICE_SERVICE",
276      "description": "Must be required by any CompanionDeviceServices to ensure that only the system can bind to it.",
277      "explanation": "Must be required by any <code translate=\"no\" dir=\"ltr\"><a href=\"https://developer.android.com/reference/android/companion/CompanionDeviceService\">CompanionDeviceService</a></code>s to ensure that only the system can bind to it.",
278      "constant": "android.permission.BIND_COMPANION_DEVICE_SERVICE",
279      "protection": null,
280      "warning": null
281    },
282    "BIND_CONDITION_PROVIDER_SERVICE": {
283      "apiAdded": 24,
284      "apiDeprecated": null,
285      "apiReplaced": null,
286      "name": "BIND_CONDITION_PROVIDER_SERVICE",
287      "description": "Must be required by a ConditionProviderService, to ensure that only the system can bind to it.",
288      "explanation": "Must be required by a <code translate=\"no\" dir=\"ltr\"><a href=\"https://developer.android.com/reference/android/service/notification/ConditionProviderService\">ConditionProviderService</a></code>, to ensure that only the system can bind to it.",
289      "constant": "android.permission.BIND_CONDITION_PROVIDER_SERVICE",
290      "protection": "signature",
291      "warning": null
292    },
293    "BIND_CONTROLS": {
294      "apiAdded": 30,
295      "apiDeprecated": null,
296      "apiReplaced": null,
297      "name": "BIND_CONTROLS",
298      "description": "Allows SystemUI to request third party controls.",
299      "explanation": null,
300      "constant": "android.permission.BIND_CONTROLS",
301      "protection": null,
302      "warning": null
303    },
304    "BIND_DEVICE_ADMIN": {
305      "apiAdded": 8,
306      "apiDeprecated": null,
307      "apiReplaced": null,
308      "name": "BIND_DEVICE_ADMIN",
309      "description": "Must be required by device administration receiver, to ensure that only the system can interact with it.",
310      "explanation": null,
311      "constant": "android.permission.BIND_DEVICE_ADMIN",
312      "protection": "signature",
313      "warning": null
314    },
315    "BIND_DREAM_SERVICE": {
316      "apiAdded": 21,
317      "apiDeprecated": null,
318      "apiReplaced": null,
319      "name": "BIND_DREAM_SERVICE",
320      "description": "Must be required by an DreamService, to ensure that only the system can bind to it.",
321      "explanation": "Must be required by an <code translate=\"no\" dir=\"ltr\"><a href=\"https://developer.android.com/reference/android/service/dreams/DreamService\">DreamService</a></code>, to ensure that only the system can bind to it.",
322      "constant": "android.permission.BIND_DREAM_SERVICE",
323      "protection": "signature",
324      "warning": null
325    },
326    "BIND_INCALL_SERVICE": {
327      "apiAdded": 23,
328      "apiDeprecated": null,
329      "apiReplaced": null,
330      "name": "BIND_INCALL_SERVICE",
331      "description": "Must be required by a InCallService, to ensure that only the system can bind to it.",
332      "explanation": "Must be required by a <code translate=\"no\" dir=\"ltr\"><a href=\"https://developer.android.com/reference/android/telecom/InCallService\">InCallService</a></code>, to ensure that only the system can bind to it.",
333      "constant": "android.permission.BIND_INCALL_SERVICE",
334      "protection": "signature|privileged",
335      "warning": null
336    },
337    "BIND_INPUT_METHOD": {
338      "apiAdded": 3,
339      "apiDeprecated": null,
340      "apiReplaced": null,
341      "name": "BIND_INPUT_METHOD",
342      "description": "Must be required by an InputMethodService, to ensure that only the system can bind to it.",
343      "explanation": "Must be required by an <code translate=\"no\" dir=\"ltr\"><a href=\"https://developer.android.com/reference/android/inputmethodservice/InputMethodService\">InputMethodService</a></code>, to ensure that only the system can bind to it.",
344      "constant": "android.permission.BIND_INPUT_METHOD",
345      "protection": "signature",
346      "warning": null
347    },
348    "BIND_MIDI_DEVICE_SERVICE": {
349      "apiAdded": 23,
350      "apiDeprecated": null,
351      "apiReplaced": null,
352      "name": "BIND_MIDI_DEVICE_SERVICE",
353      "description": "Must be required by an MidiDeviceService, to ensure that only the system can bind to it.",
354      "explanation": "Must be required by an <code translate=\"no\" dir=\"ltr\"><a href=\"https://developer.android.com/reference/android/media/midi/MidiDeviceService\">MidiDeviceService</a></code>, to ensure that only the system can bind to it.",
355      "constant": "android.permission.BIND_MIDI_DEVICE_SERVICE",
356      "protection": "signature",
357      "warning": null
358    },
359    "BIND_NFC_SERVICE": {
360      "apiAdded": 19,
361      "apiDeprecated": null,
362      "apiReplaced": null,
363      "name": "BIND_NFC_SERVICE",
364      "description": "Must be required by a HostApduService or OffHostApduService to ensure that only the system can bind to it.",
365      "explanation": "Must be required by a <code translate=\"no\" dir=\"ltr\"><a href=\"https://developer.android.com/reference/android/nfc/cardemulation/HostApduService\">HostApduService</a></code> or <code translate=\"no\" dir=\"ltr\"><a href=\"https://developer.android.com/reference/android/nfc/cardemulation/OffHostApduService\">OffHostApduService</a></code> to ensure that only the system can bind to it.",
366      "constant": "android.permission.BIND_NFC_SERVICE",
367      "protection": "signature",
368      "warning": null
369    },
370    "BIND_NOTIFICATION_LISTENER_SERVICE": {
371      "apiAdded": 18,
372      "apiDeprecated": null,
373      "apiReplaced": null,
374      "name": "BIND_NOTIFICATION_LISTENER_SERVICE",
375      "description": "Must be required by an NotificationListenerService, to ensure that only the system can bind to it.",
376      "explanation": "Must be required by an <code translate=\"no\" dir=\"ltr\"><a href=\"https://developer.android.com/reference/android/service/notification/NotificationListenerService\">NotificationListenerService</a></code>, to ensure that only the system can bind to it.",
377      "constant": "android.permission.BIND_NOTIFICATION_LISTENER_SERVICE",
378      "protection": "signature",
379      "warning": null
380    },
381    "BIND_PRINT_SERVICE": {
382      "apiAdded": 19,
383      "apiDeprecated": null,
384      "apiReplaced": null,
385      "name": "BIND_PRINT_SERVICE",
386      "description": "Must be required by a PrintService, to ensure that only the system can bind to it.",
387      "explanation": "Must be required by a <code translate=\"no\" dir=\"ltr\"><a href=\"https://developer.android.com/reference/android/printservice/PrintService\">PrintService</a></code>, to ensure that only the system can bind to it.",
388      "constant": "android.permission.BIND_PRINT_SERVICE",
389      "protection": "signature",
390      "warning": null
391    },
392    "BIND_QUICK_ACCESS_WALLET_SERVICE": {
393      "apiAdded": 30,
394      "apiDeprecated": null,
395      "apiReplaced": null,
396      "name": "BIND_QUICK_ACCESS_WALLET_SERVICE",
397      "description": "Must be required by a QuickAccessWalletService to ensure that only the system can bind to it.",
398      "explanation": "Must be required by a <code translate=\"no\" dir=\"ltr\"><a href=\"https://developer.android.com/reference/android/service/quickaccesswallet/QuickAccessWalletService\">QuickAccessWalletService</a></code> to ensure that only the system can bind to it.",
399      "constant": "android.permission.BIND_QUICK_ACCESS_WALLET_SERVICE",
400      "protection": "signature",
401      "warning": null
402    },
403    "BIND_QUICK_SETTINGS_TILE": {
404      "apiAdded": 24,
405      "apiDeprecated": null,
406      "apiReplaced": null,
407      "name": "BIND_QUICK_SETTINGS_TILE",
408      "description": "Allows an application to bind to third party quick settings tiles.",
409      "explanation": null,
410      "constant": "android.permission.BIND_QUICK_SETTINGS_TILE",
411      "protection": null,
412      "warning": null
413    },
414    "BIND_REMOTEVIEWS": {
415      "apiAdded": 11,
416      "apiDeprecated": null,
417      "apiReplaced": null,
418      "name": "BIND_REMOTEVIEWS",
419      "description": "Must be required by a RemoteViewsService, to ensure that only the system can bind to it.",
420      "explanation": "Must be required by a <code translate=\"no\" dir=\"ltr\"><a href=\"https://developer.android.com/reference/android/widget/RemoteViewsService\">RemoteViewsService</a></code>, to ensure that only the system can bind to it.",
421      "constant": "android.permission.BIND_REMOTEVIEWS",
422      "protection": "signature|privileged",
423      "warning": null
424    },
425    "BIND_SCREENING_SERVICE": {
426      "apiAdded": 24,
427      "apiDeprecated": null,
428      "apiReplaced": null,
429      "name": "BIND_SCREENING_SERVICE",
430      "description": "Must be required by a CallScreeningService, to ensure that only the system can bind to it.",
431      "explanation": "Must be required by a <code translate=\"no\" dir=\"ltr\"><a href=\"https://developer.android.com/reference/android/telecom/CallScreeningService\">CallScreeningService</a></code>, to ensure that only the system can bind to it.",
432      "constant": "android.permission.BIND_SCREENING_SERVICE",
433      "protection": "signature|privileged",
434      "warning": null
435    },
436    "BIND_TELECOM_CONNECTION_SERVICE": {
437      "apiAdded": 23,
438      "apiDeprecated": null,
439      "apiReplaced": null,
440      "name": "BIND_TELECOM_CONNECTION_SERVICE",
441      "description": "Must be required by a ConnectionService, to ensure that only the system can bind to it.",
442      "explanation": "Must be required by a <code translate=\"no\" dir=\"ltr\"><a href=\"https://developer.android.com/reference/android/telecom/ConnectionService\">ConnectionService</a></code>, to ensure that only the system can bind to it.",
443      "constant": "android.permission.BIND_TELECOM_CONNECTION_SERVICE",
444      "protection": "signature|privileged",
445      "warning": null
446    },
447    "BIND_TEXT_SERVICE": {
448      "apiAdded": 14,
449      "apiDeprecated": null,
450      "apiReplaced": null,
451      "name": "BIND_TEXT_SERVICE",
452      "description": "Must be required by a TextService (e.g.",
453      "explanation": "&nbsp;SpellCheckerService) to ensure that only the system can bind to it.",
454      "constant": "android.permission.BIND_TEXT_SERVICE",
455      "protection": "signature",
456      "warning": null
457    },
458    "BIND_TV_INPUT": {
459      "apiAdded": 21,
460      "apiDeprecated": null,
461      "apiReplaced": null,
462      "name": "BIND_TV_INPUT",
463      "description": "Must be required by a TvInputService to ensure that only the system can bind to it.",
464      "explanation": "Must be required by a <code translate=\"no\" dir=\"ltr\"><a href=\"https://developer.android.com/reference/android/media/tv/TvInputService\">TvInputService</a></code> to ensure that only the system can bind to it.",
465      "constant": "android.permission.BIND_TV_INPUT",
466      "protection": "signature|privileged",
467      "warning": null
468    },
469    "BIND_VISUAL_VOICEMAIL_SERVICE": {
470      "apiAdded": 26,
471      "apiDeprecated": null,
472      "apiReplaced": null,
473      "name": "BIND_VISUAL_VOICEMAIL_SERVICE",
474      "description": "Must be required by a link VisualVoicemailService to ensure that only the system can bind to it.",
475      "explanation": "Must be required by a link <code translate=\"no\" dir=\"ltr\"><a href=\"https://developer.android.com/reference/android/telephony/VisualVoicemailService\">VisualVoicemailService</a></code> to ensure that only the system can bind to it.",
476      "constant": "android.permission.BIND_VISUAL_VOICEMAIL_SERVICE",
477      "protection": "signature|privileged",
478      "warning": null
479    },
480    "BIND_VOICE_INTERACTION": {
481      "apiAdded": 21,
482      "apiDeprecated": null,
483      "apiReplaced": null,
484      "name": "BIND_VOICE_INTERACTION",
485      "description": "Must be required by a VoiceInteractionService, to ensure that only the system can bind to it.",
486      "explanation": "Must be required by a <code translate=\"no\" dir=\"ltr\"><a href=\"https://developer.android.com/reference/android/service/voice/VoiceInteractionService\">VoiceInteractionService</a></code>, to ensure that only the system can bind to it.",
487      "constant": "android.permission.BIND_VOICE_INTERACTION",
488      "protection": "signature",
489      "warning": null
490    },
491    "BIND_VPN_SERVICE": {
492      "apiAdded": 14,
493      "apiDeprecated": null,
494      "apiReplaced": null,
495      "name": "BIND_VPN_SERVICE",
496      "description": "Must be required by a VpnService, to ensure that only the system can bind to it.",
497      "explanation": "Must be required by a <code translate=\"no\" dir=\"ltr\"><a href=\"https://developer.android.com/reference/android/net/VpnService\">VpnService</a></code>, to ensure that only the system can bind to it.",
498      "constant": "android.permission.BIND_VPN_SERVICE",
499      "protection": "signature",
500      "warning": null
501    },
502    "BIND_VR_LISTENER_SERVICE": {
503      "apiAdded": 24,
504      "apiDeprecated": null,
505      "apiReplaced": null,
506      "name": "BIND_VR_LISTENER_SERVICE",
507      "description": "Must be required by an VrListenerService, to ensure that only the system can bind to it.",
508      "explanation": "Must be required by an <code translate=\"no\" dir=\"ltr\"><a href=\"https://developer.android.com/reference/android/service/vr/VrListenerService\">VrListenerService</a></code>, to ensure that only the system can bind to it.",
509      "constant": "android.permission.BIND_VR_LISTENER_SERVICE",
510      "protection": "signature",
511      "warning": null
512    },
513    "BIND_WALLPAPER": {
514      "apiAdded": 8,
515      "apiDeprecated": null,
516      "apiReplaced": null,
517      "name": "BIND_WALLPAPER",
518      "description": "Must be required by a WallpaperService, to ensure that only the system can bind to it.",
519      "explanation": "Must be required by a <code translate=\"no\" dir=\"ltr\"><a href=\"https://developer.android.com/reference/android/service/wallpaper/WallpaperService\">WallpaperService</a></code>, to ensure that only the system can bind to it.",
520      "constant": "android.permission.BIND_WALLPAPER",
521      "protection": "signature|privileged",
522      "warning": null
523    },
524    "BLUETOOTH": {
525      "apiAdded": 1,
526      "apiDeprecated": null,
527      "apiReplaced": null,
528      "name": "BLUETOOTH",
529      "description": "Allows applications to connect to paired bluetooth devices.",
530      "explanation": null,
531      "constant": "android.permission.BLUETOOTH",
532      "protection": "normal",
533      "warning": null
534    },
535    "BLUETOOTH_ADMIN": {
536      "apiAdded": 1,
537      "apiDeprecated": null,
538      "apiReplaced": null,
539      "name": "BLUETOOTH_ADMIN",
540      "description": "Allows applications to discover and pair bluetooth devices.",
541      "explanation": null,
542      "constant": "android.permission.BLUETOOTH_ADMIN",
543      "protection": "normal",
544      "warning": null
545    },
546    "BLUETOOTH_ADVERTISE": {
547      "apiAdded": 31,
548      "apiDeprecated": null,
549      "apiReplaced": null,
550      "name": "BLUETOOTH_ADVERTISE",
551      "description": "Required to be able to advertise to nearby Bluetooth devices.",
552      "explanation": null,
553      "constant": "android.permission.BLUETOOTH_ADVERTISE",
554      "protection": "dangerous",
555      "warning": null
556    },
557    "BLUETOOTH_CONNECT": {
558      "apiAdded": 31,
559      "apiDeprecated": null,
560      "apiReplaced": null,
561      "name": "BLUETOOTH_CONNECT",
562      "description": "Required to be able to connect to paired Bluetooth devices.",
563      "explanation": null,
564      "constant": "android.permission.BLUETOOTH_CONNECT",
565      "protection": "dangerous",
566      "warning": null
567    },
568    "BLUETOOTH_PRIVILEGED": {
569      "apiAdded": 19,
570      "apiDeprecated": null,
571      "apiReplaced": null,
572      "name": "BLUETOOTH_PRIVILEGED",
573      "description": "Allows applications to pair bluetooth devices without user interaction, and to allow or disallow phonebook access or message access.",
574      "explanation": null,
575      "constant": "android.permission.BLUETOOTH_PRIVILEGED",
576      "protection": null,
577      "warning": null
578    },
579    "BLUETOOTH_SCAN": {
580      "apiAdded": 31,
581      "apiDeprecated": null,
582      "apiReplaced": null,
583      "name": "BLUETOOTH_SCAN",
584      "description": "Required to be able to discover and pair nearby Bluetooth devices.",
585      "explanation": null,
586      "constant": "android.permission.BLUETOOTH_SCAN",
587      "protection": "dangerous",
588      "warning": null
589    },
590    "BODY_SENSORS": {
591      "apiAdded": 20,
592      "apiDeprecated": null,
593      "apiReplaced": null,
594      "name": "BODY_SENSORS",
595      "description": "Allows an application to access data from sensors that the user uses to measure what is happening inside their body, such as heart rate.",
596      "explanation": null,
597      "constant": "android.permission.BODY_SENSORS",
598      "protection": "dangerous",
599      "warning": null
600    },
601    "BROADCAST_PACKAGE_REMOVED": {
602      "apiAdded": 1,
603      "apiDeprecated": null,
604      "apiReplaced": null,
605      "name": "BROADCAST_PACKAGE_REMOVED",
606      "description": "Allows an application to broadcast a notification that an application package has been removed.",
607      "explanation": null,
608      "constant": "android.permission.BROADCAST_PACKAGE_REMOVED",
609      "protection": null,
610      "warning": null
611    },
612    "BROADCAST_SMS": {
613      "apiAdded": 2,
614      "apiDeprecated": null,
615      "apiReplaced": null,
616      "name": "BROADCAST_SMS",
617      "description": "Allows an application to broadcast an SMS receipt notification.",
618      "explanation": null,
619      "constant": "android.permission.BROADCAST_SMS",
620      "protection": null,
621      "warning": null
622    },
623    "BROADCAST_STICKY": {
624      "apiAdded": 1,
625      "apiDeprecated": null,
626      "apiReplaced": null,
627      "name": "BROADCAST_STICKY",
628      "description": "Allows an application to broadcast sticky intents.",
629      "explanation": "These are broadcasts whose data is held by the system after being finished, so that clients can quickly retrieve that data without having to wait for the next broadcast.",
630      "constant": "android.permission.BROADCAST_STICKY",
631      "protection": "normal",
632      "warning": null
633    },
634    "BROADCAST_WAP_PUSH": {
635      "apiAdded": 2,
636      "apiDeprecated": null,
637      "apiReplaced": null,
638      "name": "BROADCAST_WAP_PUSH",
639      "description": "Allows an application to broadcast a WAP PUSH receipt notification.",
640      "explanation": null,
641      "constant": "android.permission.BROADCAST_WAP_PUSH",
642      "protection": null,
643      "warning": null
644    },
645    "CALL_COMPANION_APP": {
646      "apiAdded": 29,
647      "apiDeprecated": null,
648      "apiReplaced": null,
649      "name": "CALL_COMPANION_APP",
650      "description": "Allows an app which implements the InCallService API to be eligible to be enabled as a calling companion app.",
651      "explanation": "Allows an app which implements the <code translate=\"no\" dir=\"ltr\"><a href=\"https://developer.android.com/reference/android/telecom/InCallService\">InCallService</a></code> API to be eligible to be enabled as a calling companion app. This means that the Telecom framework will bind to the app's InCallService implementation when there are calls active. The app can use the InCallService API to view information about calls on the system and control these calls.",
652      "constant": "android.permission.CALL_COMPANION_APP",
653      "protection": "normal",
654      "warning": null
655    },
656    "CALL_PHONE": {
657      "apiAdded": 1,
658      "apiDeprecated": null,
659      "apiReplaced": null,
660      "name": "CALL_PHONE",
661      "description": "Allows an application to initiate a phone call without going through the Dialer user interface for the user to confirm the call.",
662      "explanation": null,
663      "constant": "android.permission.CALL_PHONE",
664      "protection": "dangerous",
665      "warning": null
666    },
667    "CALL_PRIVILEGED": {
668      "apiAdded": 1,
669      "apiDeprecated": null,
670      "apiReplaced": null,
671      "name": "CALL_PRIVILEGED",
672      "description": "Allows an application to call any phone number, including emergency numbers, without going through the Dialer user interface for the user to confirm the call being placed.",
673      "explanation": null,
674      "constant": "android.permission.CALL_PRIVILEGED",
675      "protection": null,
676      "warning": null
677    },
678    "CAMERA": {
679      "apiAdded": 1,
680      "apiDeprecated": null,
681      "apiReplaced": null,
682      "name": "CAMERA",
683      "description": "Required to be able to access the camera device.",
684      "explanation": null,
685      "constant": "android.permission.CAMERA",
686      "protection": "dangerous",
687      "warning": null
688    },
689    "CAPTURE_AUDIO_OUTPUT": {
690      "apiAdded": 19,
691      "apiDeprecated": null,
692      "apiReplaced": null,
693      "name": "CAPTURE_AUDIO_OUTPUT",
694      "description": "Allows an application to capture audio output.",
695      "explanation": "Use the <code translate=\"no\" dir=\"ltr\">CAPTURE_MEDIA_OUTPUT</code> permission if only the <code translate=\"no\" dir=\"ltr\">USAGE_UNKNOWN</code>), <code translate=\"no\" dir=\"ltr\">USAGE_MEDIA</code>) or <code translate=\"no\" dir=\"ltr\">USAGE_GAME</code>) usages are intended to be captured.",
696      "constant": "android.permission.CAPTURE_AUDIO_OUTPUT",
697      "protection": null,
698      "warning": null
699    },
700    "CHANGE_COMPONENT_ENABLED_STATE": {
701      "apiAdded": 1,
702      "apiDeprecated": null,
703      "apiReplaced": null,
704      "name": "CHANGE_COMPONENT_ENABLED_STATE",
705      "description": "Allows an application to change whether an application component (other than its own) is enabled or not.",
706      "explanation": null,
707      "constant": "android.permission.CHANGE_COMPONENT_ENABLED_STATE",
708      "protection": null,
709      "warning": null
710    },
711    "CHANGE_CONFIGURATION": {
712      "apiAdded": 1,
713      "apiDeprecated": null,
714      "apiReplaced": null,
715      "name": "CHANGE_CONFIGURATION",
716      "description": "Allows an application to modify the current configuration, such as locale.",
717      "explanation": null,
718      "constant": "android.permission.CHANGE_CONFIGURATION",
719      "protection": "signature|privileged|development",
720      "warning": null
721    },
722    "CHANGE_NETWORK_STATE": {
723      "apiAdded": 1,
724      "apiDeprecated": null,
725      "apiReplaced": null,
726      "name": "CHANGE_NETWORK_STATE",
727      "description": "Allows applications to change network connectivity state.",
728      "explanation": null,
729      "constant": "android.permission.CHANGE_NETWORK_STATE",
730      "protection": "normal",
731      "warning": null
732    },
733    "CHANGE_WIFI_MULTICAST_STATE": {
734      "apiAdded": 4,
735      "apiDeprecated": null,
736      "apiReplaced": null,
737      "name": "CHANGE_WIFI_MULTICAST_STATE",
738      "description": "Allows applications to enter Wi-Fi Multicast mode.",
739      "explanation": null,
740      "constant": "android.permission.CHANGE_WIFI_MULTICAST_STATE",
741      "protection": "normal",
742      "warning": null
743    },
744    "CHANGE_WIFI_STATE": {
745      "apiAdded": 1,
746      "apiDeprecated": null,
747      "apiReplaced": null,
748      "name": "CHANGE_WIFI_STATE",
749      "description": "Allows applications to change Wi-Fi connectivity state.",
750      "explanation": null,
751      "constant": "android.permission.CHANGE_WIFI_STATE",
752      "protection": "normal",
753      "warning": null
754    },
755    "CLEAR_APP_CACHE": {
756      "apiAdded": 1,
757      "apiDeprecated": null,
758      "apiReplaced": null,
759      "name": "CLEAR_APP_CACHE",
760      "description": "Allows an application to clear the caches of all installed applications on the device.",
761      "explanation": null,
762      "constant": "android.permission.CLEAR_APP_CACHE",
763      "protection": "signature|privileged",
764      "warning": null
765    },
766    "CONTROL_LOCATION_UPDATES": {
767      "apiAdded": 1,
768      "apiDeprecated": null,
769      "apiReplaced": null,
770      "name": "CONTROL_LOCATION_UPDATES",
771      "description": "Allows enabling/disabling location update notifications from the radio.",
772      "explanation": null,
773      "constant": "android.permission.CONTROL_LOCATION_UPDATES",
774      "protection": null,
775      "warning": null
776    },
777    "DELETE_CACHE_FILES": {
778      "apiAdded": 1,
779      "apiDeprecated": null,
780      "apiReplaced": null,
781      "name": "DELETE_CACHE_FILES",
782      "description": "Old permission for deleting an app's cache files, no longer used, but signals for us to quietly ignore calls instead of throwing an exception.",
783      "explanation": null,
784      "constant": "android.permission.DELETE_CACHE_FILES",
785      "protection": "signature|privileged",
786      "warning": null
787    },
788    "DELETE_PACKAGES": {
789      "apiAdded": 1,
790      "apiDeprecated": null,
791      "apiReplaced": null,
792      "name": "DELETE_PACKAGES",
793      "description": "Allows an application to delete packages.",
794      "explanation": null,
795      "constant": "android.permission.DELETE_PACKAGES",
796      "protection": null,
797      "warning": null
798    },
799    "DIAGNOSTIC": {
800      "apiAdded": 1,
801      "apiDeprecated": null,
802      "apiReplaced": null,
803      "name": "DIAGNOSTIC",
804      "description": "Allows applications to RW to diagnostic resources.",
805      "explanation": null,
806      "constant": "android.permission.DIAGNOSTIC",
807      "protection": null,
808      "warning": null
809    },
810    "DISABLE_KEYGUARD": {
811      "apiAdded": 1,
812      "apiDeprecated": null,
813      "apiReplaced": null,
814      "name": "DISABLE_KEYGUARD",
815      "description": "Allows applications to disable the keyguard if it is not secure.",
816      "explanation": null,
817      "constant": "android.permission.DISABLE_KEYGUARD",
818      "protection": "normal",
819      "warning": null
820    },
821    "DUMP": {
822      "apiAdded": 1,
823      "apiDeprecated": null,
824      "apiReplaced": null,
825      "name": "DUMP",
826      "description": "Allows an application to retrieve state dump information from system services.",
827      "explanation": null,
828      "constant": "android.permission.DUMP",
829      "protection": null,
830      "warning": null
831    },
832    "EXPAND_STATUS_BAR": {
833      "apiAdded": 1,
834      "apiDeprecated": null,
835      "apiReplaced": null,
836      "name": "EXPAND_STATUS_BAR",
837      "description": "Allows an application to expand or collapse the status bar.",
838      "explanation": null,
839      "constant": "android.permission.EXPAND_STATUS_BAR",
840      "protection": "normal",
841      "warning": null
842    },
843    "FACTORY_TEST": {
844      "apiAdded": 1,
845      "apiDeprecated": null,
846      "apiReplaced": null,
847      "name": "FACTORY_TEST",
848      "description": "Run as a manufacturer test application, running as the root user.",
849      "explanation": "Only available when the device is running in manufacturer test mode.",
850      "constant": "android.permission.FACTORY_TEST",
851      "protection": null,
852      "warning": null
853    },
854    "FOREGROUND_SERVICE": {
855      "apiAdded": 28,
856      "apiDeprecated": null,
857      "apiReplaced": null,
858      "name": "FOREGROUND_SERVICE",
859      "description": "Allows a regular application to use Service.startForeground.",
860      "explanation": "Allows a regular application to use <code translate=\"no\" dir=\"ltr\"><a href=\"https://developer.android.com/reference/android/app/Service#startForeground(int,%20android.app.Notification)\">Service.startForeground</a></code>.",
861      "constant": "android.permission.FOREGROUND_SERVICE",
862      "protection": "normal",
863      "warning": null
864    },
865    "GET_ACCOUNTS": {
866      "apiAdded": 1,
867      "apiDeprecated": null,
868      "apiReplaced": null,
869      "name": "GET_ACCOUNTS",
870      "description": "Allows access to the list of accounts in the Accounts Service.",
871      "explanation": null,
872      "constant": "android.permission.GET_ACCOUNTS",
873      "protection": "dangerous",
874      "warning": null
875    },
876    "GET_ACCOUNTS_PRIVILEGED": {
877      "apiAdded": 23,
878      "apiDeprecated": null,
879      "apiReplaced": null,
880      "name": "GET_ACCOUNTS_PRIVILEGED",
881      "description": "Allows access to the list of accounts in the Accounts Service.",
882      "explanation": null,
883      "constant": "android.permission.GET_ACCOUNTS_PRIVILEGED",
884      "protection": "signature|privileged",
885      "warning": null
886    },
887    "GET_PACKAGE_SIZE": {
888      "apiAdded": 1,
889      "apiDeprecated": null,
890      "apiReplaced": null,
891      "name": "GET_PACKAGE_SIZE",
892      "description": "Allows an application to find out the space used by any package.",
893      "explanation": null,
894      "constant": "android.permission.GET_PACKAGE_SIZE",
895      "protection": "normal",
896      "warning": null
897    },
898    "GET_TASKS": {
899      "apiAdded": 1,
900      "apiDeprecated": 21,
901      "apiReplaced": null,
902      "name": "GET_TASKS",
903      "description": "",
904      "explanation": null,
905      "constant": "android.permission.GET_TASKS",
906      "protection": null,
907      "warning": "This constant was deprecated in API level 21. No longer enforced."
908    },
909    "GLOBAL_SEARCH": {
910      "apiAdded": 4,
911      "apiDeprecated": null,
912      "apiReplaced": null,
913      "name": "GLOBAL_SEARCH",
914      "description": "This permission can be used on content providers to allow the global search system to access their data.",
915      "explanation": "Typically it used when the provider has some permissions protecting it (which global search would not be expected to hold), and added as a read-only permission to the path in the provider where global search queries are performed. This permission can not be held by regular applications; it is used by applications to protect themselves from everyone else besides global search.",
916      "constant": "android.permission.GLOBAL_SEARCH",
917      "protection": "signature|privileged",
918      "warning": null
919    },
920    "HIDE_OVERLAY_WINDOWS": {
921      "apiAdded": 31,
922      "apiDeprecated": null,
923      "apiReplaced": null,
924      "name": "HIDE_OVERLAY_WINDOWS",
925      "description": "Allows an app to prevent non-system-overlay windows from being drawn on top of it",
926      "explanation": null,
927      "constant": "android.permission.HIDE_OVERLAY_WINDOWS",
928      "protection": null,
929      "warning": null
930    },
931    "HIGH_SAMPLING_RATE_SENSORS": {
932      "apiAdded": 31,
933      "apiDeprecated": null,
934      "apiReplaced": null,
935      "name": "HIGH_SAMPLING_RATE_SENSORS",
936      "description": "Allows an app to access sensor data with a sampling rate greater than 200 Hz.",
937      "explanation": null,
938      "constant": "android.permission.HIGH_SAMPLING_RATE_SENSORS",
939      "protection": "normal",
940      "warning": null
941    },
942    "INSTALL_LOCATION_PROVIDER": {
943      "apiAdded": 4,
944      "apiDeprecated": null,
945      "apiReplaced": null,
946      "name": "INSTALL_LOCATION_PROVIDER",
947      "description": "Allows an application to install a location provider into the Location Manager.",
948      "explanation": null,
949      "constant": "android.permission.INSTALL_LOCATION_PROVIDER",
950      "protection": null,
951      "warning": null
952    },
953    "INSTALL_PACKAGES": {
954      "apiAdded": 1,
955      "apiDeprecated": null,
956      "apiReplaced": null,
957      "name": "INSTALL_PACKAGES",
958      "description": "Allows an application to install packages.",
959      "explanation": null,
960      "constant": "android.permission.INSTALL_PACKAGES",
961      "protection": null,
962      "warning": null
963    },
964    "INSTALL_SHORTCUT": {
965      "apiAdded": 19,
966      "apiDeprecated": null,
967      "apiReplaced": null,
968      "name": "INSTALL_SHORTCUT",
969      "description": "Allows an application to install a shortcut in Launcher.",
970      "explanation": null,
971      "constant": "com.android.launcher.permission.INSTALL_SHORTCUT",
972      "protection": "normal",
973      "warning": null
974    },
975    "INSTANT_APP_FOREGROUND_SERVICE": {
976      "apiAdded": 26,
977      "apiDeprecated": null,
978      "apiReplaced": null,
979      "name": "INSTANT_APP_FOREGROUND_SERVICE",
980      "description": "Allows an instant app to create foreground services.",
981      "explanation": null,
982      "constant": "android.permission.INSTANT_APP_FOREGROUND_SERVICE",
983      "protection": "signature|development|instant|appop",
984      "warning": null
985    },
986    "INTERACT_ACROSS_PROFILES": {
987      "apiAdded": 30,
988      "apiDeprecated": null,
989      "apiReplaced": null,
990      "name": "INTERACT_ACROSS_PROFILES",
991      "description": "Allows interaction across profiles in the same profile group.",
992      "explanation": null,
993      "constant": "android.permission.INTERACT_ACROSS_PROFILES",
994      "protection": null,
995      "warning": null
996    },
997    "INTERNET": {
998      "apiAdded": 1,
999      "apiDeprecated": null,
1000      "apiReplaced": null,
1001      "name": "INTERNET",
1002      "description": "Allows applications to open network sockets.",
1003      "explanation": null,
1004      "constant": "android.permission.INTERNET",
1005      "protection": "normal",
1006      "warning": null
1007    },
1008    "KILL_BACKGROUND_PROCESSES": {
1009      "apiAdded": 8,
1010      "apiDeprecated": null,
1011      "apiReplaced": null,
1012      "name": "KILL_BACKGROUND_PROCESSES",
1013      "description": "Allows an application to call ActivityManager.killBackgroundProcesses(String).",
1014      "explanation": "Allows an application to call <code translate=\"no\" dir=\"ltr\"><a href=\"https://developer.android.com/reference/android/app/ActivityManager#killBackgroundProcesses(java.lang.String)\">ActivityManager.killBackgroundProcesses(String)</a></code>.",
1015      "constant": "android.permission.KILL_BACKGROUND_PROCESSES",
1016      "protection": "normal",
1017      "warning": null
1018    },
1019    "LOADER_USAGE_STATS": {
1020      "apiAdded": 30,
1021      "apiDeprecated": null,
1022      "apiReplaced": null,
1023      "name": "LOADER_USAGE_STATS",
1024      "description": "Allows a data loader to read a package's access logs.",
1025      "explanation": "The access logs contain the set of pages referenced over time.",
1026      "constant": "android.permission.LOADER_USAGE_STATS",
1027      "protection": "signature|privileged|appop",
1028      "warning": null
1029    },
1030    "LOCATION_HARDWARE": {
1031      "apiAdded": 18,
1032      "apiDeprecated": null,
1033      "apiReplaced": null,
1034      "name": "LOCATION_HARDWARE",
1035      "description": "Allows an application to use location features in hardware, such as the geofencing api.",
1036      "explanation": null,
1037      "constant": "android.permission.LOCATION_HARDWARE",
1038      "protection": null,
1039      "warning": null
1040    },
1041    "MANAGE_DOCUMENTS": {
1042      "apiAdded": 19,
1043      "apiDeprecated": null,
1044      "apiReplaced": null,
1045      "name": "MANAGE_DOCUMENTS",
1046      "description": "Allows an application to manage access to documents, usually as part of a document picker.",
1047      "explanation": null,
1048      "constant": "android.permission.MANAGE_DOCUMENTS",
1049      "protection": null,
1050      "warning": null
1051    },
1052    "MANAGE_EXTERNAL_STORAGE": {
1053      "apiAdded": 30,
1054      "apiDeprecated": null,
1055      "apiReplaced": null,
1056      "name": "MANAGE_EXTERNAL_STORAGE",
1057      "description": "Allows an application a broad access to external storage in scoped storage.",
1058      "explanation": "Intended to be used by few apps that need to manage files on behalf of the users.",
1059      "constant": "android.permission.MANAGE_EXTERNAL_STORAGE",
1060      "protection": "signature|appop|preinstalled",
1061      "warning": null
1062    },
1063    "MANAGE_MEDIA": {
1064      "apiAdded": 31,
1065      "apiDeprecated": null,
1066      "apiReplaced": null,
1067      "name": "MANAGE_MEDIA",
1068      "description": "Allows an application to modify and delete media files on this device or any connected storage device without user confirmation.",
1069      "explanation": "Applications must already be granted the <code translate=\"no\" dir=\"ltr\"><a href=\"https://developer.android.com/reference/android/Manifest.permission#READ_EXTERNAL_STORAGE\">READ_EXTERNAL_STORAGE</a></code> or <code translate=\"no\" dir=\"ltr\"><a href=\"https://developer.android.com/reference/android/Manifest.permission#MANAGE_EXTERNAL_STORAGE\">MANAGE_EXTERNAL_STORAGE</a></code>} permissions for this permission to take effect.",
1070      "constant": "android.permission.MANAGE_MEDIA",
1071      "protection": "signature|appop|preinstalled",
1072      "warning": null
1073    },
1074    "MANAGE_ONGOING_CALLS": {
1075      "apiAdded": 31,
1076      "apiDeprecated": null,
1077      "apiReplaced": null,
1078      "name": "MANAGE_ONGOING_CALLS",
1079      "description": "Allows to query ongoing call details and manage ongoing calls",
1080      "explanation": null,
1081      "constant": "android.permission.MANAGE_ONGOING_CALLS",
1082      "protection": "signature|appop",
1083      "warning": null
1084    },
1085    "MANAGE_OWN_CALLS": {
1086      "apiAdded": 26,
1087      "apiDeprecated": null,
1088      "apiReplaced": null,
1089      "name": "MANAGE_OWN_CALLS",
1090      "description": "Allows a calling application which manages its own calls through the self-managed ConnectionService APIs.",
1091      "explanation": "Allows a calling application which manages its own calls through the self-managed <code translate=\"no\" dir=\"ltr\"><a href=\"https://developer.android.com/reference/android/telecom/ConnectionService\">ConnectionService</a></code> APIs. See <code translate=\"no\" dir=\"ltr\"><a href=\"https://developer.android.com/reference/android/telecom/PhoneAccount#CAPABILITY_SELF_MANAGED\">PhoneAccount.CAPABILITY_SELF_MANAGED</a></code> for more information on the self-managed ConnectionService APIs.",
1092      "constant": "android.permission.MANAGE_OWN_CALLS",
1093      "protection": "normal",
1094      "warning": null
1095    },
1096    "MASTER_CLEAR": {
1097      "apiAdded": 1,
1098      "apiDeprecated": null,
1099      "apiReplaced": null,
1100      "name": "MASTER_CLEAR",
1101      "description": "Not for use by third-party applications.",
1102      "explanation": null,
1103      "constant": "android.permission.MASTER_CLEAR",
1104      "protection": null,
1105      "warning": null
1106    },
1107    "MEDIA_CONTENT_CONTROL": {
1108      "apiAdded": 19,
1109      "apiDeprecated": null,
1110      "apiReplaced": null,
1111      "name": "MEDIA_CONTENT_CONTROL",
1112      "description": "Allows an application to know what content is playing and control its playback.",
1113      "explanation": null,
1114      "constant": "android.permission.MEDIA_CONTENT_CONTROL",
1115      "protection": null,
1116      "warning": null
1117    },
1118    "MODIFY_AUDIO_SETTINGS": {
1119      "apiAdded": 1,
1120      "apiDeprecated": null,
1121      "apiReplaced": null,
1122      "name": "MODIFY_AUDIO_SETTINGS",
1123      "description": "Allows an application to modify global audio settings.",
1124      "explanation": null,
1125      "constant": "android.permission.MODIFY_AUDIO_SETTINGS",
1126      "protection": "normal",
1127      "warning": null
1128    },
1129    "MODIFY_PHONE_STATE": {
1130      "apiAdded": 1,
1131      "apiDeprecated": null,
1132      "apiReplaced": null,
1133      "name": "MODIFY_PHONE_STATE",
1134      "description": "Allows modification of the telephony state - power on, mmi, etc.",
1135      "explanation": "Does not include placing calls.",
1136      "constant": "android.permission.MODIFY_PHONE_STATE",
1137      "protection": null,
1138      "warning": null
1139    },
1140    "MOUNT_FORMAT_FILESYSTEMS": {
1141      "apiAdded": 3,
1142      "apiDeprecated": null,
1143      "apiReplaced": null,
1144      "name": "MOUNT_FORMAT_FILESYSTEMS",
1145      "description": "Allows formatting file systems for removable storage.",
1146      "explanation": null,
1147      "constant": "android.permission.MOUNT_FORMAT_FILESYSTEMS",
1148      "protection": null,
1149      "warning": null
1150    },
1151    "MOUNT_UNMOUNT_FILESYSTEMS": {
1152      "apiAdded": 1,
1153      "apiDeprecated": null,
1154      "apiReplaced": null,
1155      "name": "MOUNT_UNMOUNT_FILESYSTEMS",
1156      "description": "Allows mounting and unmounting file systems for removable storage.",
1157      "explanation": null,
1158      "constant": "android.permission.MOUNT_UNMOUNT_FILESYSTEMS",
1159      "protection": null,
1160      "warning": null
1161    },
1162    "NFC": {
1163      "apiAdded": 9,
1164      "apiDeprecated": null,
1165      "apiReplaced": null,
1166      "name": "NFC",
1167      "description": "Allows applications to perform I/O operations over NFC.",
1168      "explanation": null,
1169      "constant": "android.permission.NFC",
1170      "protection": "normal",
1171      "warning": null
1172    },
1173    "NFC_PREFERRED_PAYMENT_INFO": {
1174      "apiAdded": 30,
1175      "apiDeprecated": null,
1176      "apiReplaced": null,
1177      "name": "NFC_PREFERRED_PAYMENT_INFO",
1178      "description": "Allows applications to receive NFC preferred payment service information.",
1179      "explanation": null,
1180      "constant": "android.permission.NFC_PREFERRED_PAYMENT_INFO",
1181      "protection": "normal",
1182      "warning": null
1183    },
1184    "NFC_TRANSACTION_EVENT": {
1185      "apiAdded": 28,
1186      "apiDeprecated": null,
1187      "apiReplaced": null,
1188      "name": "NFC_TRANSACTION_EVENT",
1189      "description": "Allows applications to receive NFC transaction events.",
1190      "explanation": null,
1191      "constant": "android.permission.NFC_TRANSACTION_EVENT",
1192      "protection": "normal",
1193      "warning": null
1194    },
1195    "PACKAGE_USAGE_STATS": {
1196      "apiAdded": 23,
1197      "apiDeprecated": null,
1198      "apiReplaced": null,
1199      "name": "PACKAGE_USAGE_STATS",
1200      "description": "Allows an application to collect component usage statistics",
1201      "explanation": null,
1202      "constant": "android.permission.PACKAGE_USAGE_STATS",
1203      "protection": "signature|privileged|development|appop|retailDemo",
1204      "warning": null
1205    },
1206    "PERSISTENT_ACTIVITY": {
1207      "apiAdded": 1,
1208      "apiDeprecated": 15,
1209      "apiReplaced": null,
1210      "name": "PERSISTENT_ACTIVITY",
1211      "description": "",
1212      "explanation": null,
1213      "constant": "android.permission.PERSISTENT_ACTIVITY",
1214      "protection": null,
1215      "warning": "This constant was deprecated in API level 15. This functionality will be removed in the future; please do not use. Allow an application to make its activities persistent."
1216    },
1217    "PROCESS_OUTGOING_CALLS": {
1218      "apiAdded": 1,
1219      "apiDeprecated": 29,
1220      "apiReplaced": "CallRedirectionServiceIntent.ACTION_NEW_OUTGOING_CALL",
1221      "name": "PROCESS_OUTGOING_CALLS",
1222      "description": "",
1223      "explanation": null,
1224      "constant": "android.permission.PROCESS_OUTGOING_CALLS",
1225      "protection": "dangerous",
1226      "warning": "This constant was deprecated in API level 29. Applications should use CallRedirectionService instead of the Intent.ACTION_NEW_OUTGOING_CALL broadcast."
1227    },
1228    "QUERY_ALL_PACKAGES": {
1229      "apiAdded": 30,
1230      "apiDeprecated": null,
1231      "apiReplaced": null,
1232      "name": "QUERY_ALL_PACKAGES",
1233      "description": "Allows query of any normal app on the device, regardless of manifest declarations.",
1234      "explanation": null,
1235      "constant": "android.permission.QUERY_ALL_PACKAGES",
1236      "protection": "normal",
1237      "warning": null
1238    },
1239    "READ_CALENDAR": {
1240      "apiAdded": 1,
1241      "apiDeprecated": null,
1242      "apiReplaced": null,
1243      "name": "READ_CALENDAR",
1244      "description": "Allows an application to read the user's calendar data.",
1245      "explanation": null,
1246      "constant": "android.permission.READ_CALENDAR",
1247      "protection": "dangerous",
1248      "warning": null
1249    },
1250    "READ_CALL_LOG": {
1251      "apiAdded": 16,
1252      "apiDeprecated": null,
1253      "apiReplaced": null,
1254      "name": "READ_CALL_LOG",
1255      "description": "Allows an application to read the user's call log.",
1256      "explanation": null,
1257      "constant": "android.permission.READ_CALL_LOG",
1258      "protection": "dangerous",
1259      "warning": null
1260    },
1261    "READ_CONTACTS": {
1262      "apiAdded": 1,
1263      "apiDeprecated": null,
1264      "apiReplaced": null,
1265      "name": "READ_CONTACTS",
1266      "description": "Allows an application to read the user's contacts data.",
1267      "explanation": null,
1268      "constant": "android.permission.READ_CONTACTS",
1269      "protection": "dangerous",
1270      "warning": null
1271    },
1272    "READ_EXTERNAL_STORAGE": {
1273      "apiAdded": 16,
1274      "apiDeprecated": null,
1275      "apiReplaced": null,
1276      "name": "READ_EXTERNAL_STORAGE",
1277      "description": "Allows an application to read from external storage.",
1278      "explanation": null,
1279      "constant": "android.permission.READ_EXTERNAL_STORAGE",
1280      "protection": "dangerous",
1281      "warning": null
1282    },
1283    "READ_INPUT_STATE": {
1284      "apiAdded": 1,
1285      "apiDeprecated": 16,
1286      "apiReplaced": null,
1287      "name": "READ_INPUT_STATE",
1288      "description": "",
1289      "explanation": null,
1290      "constant": "android.permission.READ_INPUT_STATE",
1291      "protection": null,
1292      "warning": "This constant was deprecated in API level 16. The API that used this permission has been removed."
1293    },
1294    "READ_LOGS": {
1295      "apiAdded": 1,
1296      "apiDeprecated": null,
1297      "apiReplaced": null,
1298      "name": "READ_LOGS",
1299      "description": "Allows an application to read the low-level system log files.",
1300      "explanation": null,
1301      "constant": "android.permission.READ_LOGS",
1302      "protection": null,
1303      "warning": null
1304    },
1305    "READ_PHONE_NUMBERS": {
1306      "apiAdded": 26,
1307      "apiDeprecated": null,
1308      "apiReplaced": null,
1309      "name": "READ_PHONE_NUMBERS",
1310      "description": "Allows read access to the device's phone number(s).",
1311      "explanation": "This is a subset of the capabilities granted by <code translate=\"no\" dir=\"ltr\"><a href=\"https://developer.android.com/reference/android/Manifest.permission#READ_PHONE_STATE\">READ_PHONE_STATE</a></code> but is exposed to instant applications.",
1312      "constant": "android.permission.READ_PHONE_NUMBERS",
1313      "protection": "dangerous",
1314      "warning": null
1315    },
1316    "READ_PHONE_STATE": {
1317      "apiAdded": 1,
1318      "apiDeprecated": null,
1319      "apiReplaced": null,
1320      "name": "READ_PHONE_STATE",
1321      "description": "Allows read only access to phone state, including the current cellular network information, the status of any ongoing calls, and a list of any PhoneAccounts registered on the device.",
1322      "explanation": "Allows read only access to phone state, including the current cellular network information, the status of any ongoing calls, and a list of any <code translate=\"no\" dir=\"ltr\"><a href=\"https://developer.android.com/reference/android/telecom/PhoneAccount\">PhoneAccount</a></code>s registered on the device.",
1323      "constant": "android.permission.READ_PHONE_STATE",
1324      "protection": "dangerous",
1325      "warning": null
1326    },
1327    "READ_PRECISE_PHONE_STATE": {
1328      "apiAdded": 30,
1329      "apiDeprecated": null,
1330      "apiReplaced": null,
1331      "name": "READ_PRECISE_PHONE_STATE",
1332      "description": "Allows read only access to precise phone state.",
1333      "explanation": "Allows reading of detailed information about phone state for special-use applications such as dialers, carrier applications, or ims applications.",
1334      "constant": "android.permission.READ_PRECISE_PHONE_STATE",
1335      "protection": null,
1336      "warning": null
1337    },
1338    "READ_SMS": {
1339      "apiAdded": 1,
1340      "apiDeprecated": null,
1341      "apiReplaced": null,
1342      "name": "READ_SMS",
1343      "description": "Allows an application to read SMS messages.",
1344      "explanation": null,
1345      "constant": "android.permission.READ_SMS",
1346      "protection": "dangerous",
1347      "warning": null
1348    },
1349    "READ_SYNC_SETTINGS": {
1350      "apiAdded": 1,
1351      "apiDeprecated": null,
1352      "apiReplaced": null,
1353      "name": "READ_SYNC_SETTINGS",
1354      "description": "Allows applications to read the sync settings.",
1355      "explanation": null,
1356      "constant": "android.permission.READ_SYNC_SETTINGS",
1357      "protection": "normal",
1358      "warning": null
1359    },
1360    "READ_SYNC_STATS": {
1361      "apiAdded": 1,
1362      "apiDeprecated": null,
1363      "apiReplaced": null,
1364      "name": "READ_SYNC_STATS",
1365      "description": "Allows applications to read the sync stats.",
1366      "explanation": null,
1367      "constant": "android.permission.READ_SYNC_STATS",
1368      "protection": "normal",
1369      "warning": null
1370    },
1371    "READ_VOICEMAIL": {
1372      "apiAdded": 21,
1373      "apiDeprecated": null,
1374      "apiReplaced": null,
1375      "name": "READ_VOICEMAIL",
1376      "description": "Allows an application to read voicemails in the system.",
1377      "explanation": null,
1378      "constant": "com.android.voicemail.permission.READ_VOICEMAIL",
1379      "protection": "signature|privileged|role",
1380      "warning": null
1381    },
1382    "REBOOT": {
1383      "apiAdded": 1,
1384      "apiDeprecated": null,
1385      "apiReplaced": null,
1386      "name": "REBOOT",
1387      "description": "Required to be able to reboot the device.",
1388      "explanation": null,
1389      "constant": "android.permission.REBOOT",
1390      "protection": null,
1391      "warning": null
1392    },
1393    "RECEIVE_BOOT_COMPLETED": {
1394      "apiAdded": 1,
1395      "apiDeprecated": null,
1396      "apiReplaced": null,
1397      "name": "RECEIVE_BOOT_COMPLETED",
1398      "description": "Allows an application to receive the Intent.ACTION_BOOT_COMPLETED that is broadcast after the system finishes booting.",
1399      "explanation": "Allows an application to receive the <code translate=\"no\" dir=\"ltr\"><a href=\"https://developer.android.com/reference/android/content/Intent#ACTION_BOOT_COMPLETED\">Intent.ACTION_BOOT_COMPLETED</a></code> that is broadcast after the system finishes booting. If you don't request this permission, you will not receive the broadcast at that time. Though holding this permission does not have any security implications, it can have a negative impact on the user experience by increasing the amount of time it takes the system to start and allowing applications to have themselves running without the user being aware of them. As such, you must explicitly declare your use of this facility to make that visible to the user.",
1400      "constant": "android.permission.RECEIVE_BOOT_COMPLETED",
1401      "protection": "normal",
1402      "warning": null
1403    },
1404    "RECEIVE_MMS": {
1405      "apiAdded": 1,
1406      "apiDeprecated": null,
1407      "apiReplaced": null,
1408      "name": "RECEIVE_MMS",
1409      "description": "Allows an application to monitor incoming MMS messages.",
1410      "explanation": null,
1411      "constant": "android.permission.RECEIVE_MMS",
1412      "protection": "dangerous",
1413      "warning": null
1414    },
1415    "RECEIVE_SMS": {
1416      "apiAdded": 1,
1417      "apiDeprecated": null,
1418      "apiReplaced": null,
1419      "name": "RECEIVE_SMS",
1420      "description": "Allows an application to receive SMS messages.",
1421      "explanation": null,
1422      "constant": "android.permission.RECEIVE_SMS",
1423      "protection": "dangerous",
1424      "warning": null
1425    },
1426    "RECEIVE_WAP_PUSH": {
1427      "apiAdded": 1,
1428      "apiDeprecated": null,
1429      "apiReplaced": null,
1430      "name": "RECEIVE_WAP_PUSH",
1431      "description": "Allows an application to receive WAP push messages.",
1432      "explanation": null,
1433      "constant": "android.permission.RECEIVE_WAP_PUSH",
1434      "protection": "dangerous",
1435      "warning": null
1436    },
1437    "RECORD_AUDIO": {
1438      "apiAdded": 1,
1439      "apiDeprecated": null,
1440      "apiReplaced": null,
1441      "name": "RECORD_AUDIO",
1442      "description": "Allows an application to record audio.",
1443      "explanation": null,
1444      "constant": "android.permission.RECORD_AUDIO",
1445      "protection": "dangerous",
1446      "warning": null
1447    },
1448    "REORDER_TASKS": {
1449      "apiAdded": 1,
1450      "apiDeprecated": null,
1451      "apiReplaced": null,
1452      "name": "REORDER_TASKS",
1453      "description": "Allows an application to change the Z-order of tasks.",
1454      "explanation": null,
1455      "constant": "android.permission.REORDER_TASKS",
1456      "protection": "normal",
1457      "warning": null
1458    },
1459    "REQUEST_COMPANION_PROFILE_WATCH": {
1460      "apiAdded": 31,
1461      "apiDeprecated": null,
1462      "apiReplaced": null,
1463      "name": "REQUEST_COMPANION_PROFILE_WATCH",
1464      "description": "Allows app to request to be associated with a device via CompanionDeviceManager as a \"watch\"",
1465      "explanation": "Allows app to request to be associated with a device via <code translate=\"no\" dir=\"ltr\"><a href=\"https://developer.android.com/reference/android/companion/CompanionDeviceManager\">CompanionDeviceManager</a></code> as a \"watch\"",
1466      "constant": "android.permission.REQUEST_COMPANION_PROFILE_WATCH",
1467      "protection": "normal",
1468      "warning": null
1469    },
1470    "REQUEST_COMPANION_RUN_IN_BACKGROUND": {
1471      "apiAdded": 26,
1472      "apiDeprecated": null,
1473      "apiReplaced": null,
1474      "name": "REQUEST_COMPANION_RUN_IN_BACKGROUND",
1475      "description": "Allows a companion app to run in the background.",
1476      "explanation": "This permission implies <code translate=\"no\" dir=\"ltr\"><a href=\"https://developer.android.com/reference/android/Manifest.permission#REQUEST_COMPANION_START_FOREGROUND_SERVICES_FROM_BACKGROUND\">REQUEST_COMPANION_START_FOREGROUND_SERVICES_FROM_BACKGROUND</a></code>, and allows to start a foreground service from the background. If an app does not have to run in the background, but only needs to start a foreground service from the background, consider using <code translate=\"no\" dir=\"ltr\"><a href=\"https://developer.android.com/reference/android/Manifest.permission#REQUEST_COMPANION_START_FOREGROUND_SERVICES_FROM_BACKGROUND\">REQUEST_COMPANION_START_FOREGROUND_SERVICES_FROM_BACKGROUND</a></code>, which is less powerful.",
1477      "constant": "android.permission.REQUEST_COMPANION_RUN_IN_BACKGROUND",
1478      "protection": "normal",
1479      "warning": null
1480    },
1481    "REQUEST_COMPANION_START_FOREGROUND_SERVICES_FROM_BACKGROUND": {
1482      "apiAdded": 31,
1483      "apiDeprecated": null,
1484      "apiReplaced": null,
1485      "name": "REQUEST_COMPANION_START_FOREGROUND_SERVICES_FROM_BACKGROUND",
1486      "description": "Allows a companion app to start a foreground service from the background.",
1487      "explanation": null,
1488      "constant": "android.permission.REQUEST_COMPANION_START_FOREGROUND_SERVICES_FROM_BACKGROUND",
1489      "protection": "normal",
1490      "warning": null
1491    },
1492    "REQUEST_COMPANION_USE_DATA_IN_BACKGROUND": {
1493      "apiAdded": 26,
1494      "apiDeprecated": null,
1495      "apiReplaced": null,
1496      "name": "REQUEST_COMPANION_USE_DATA_IN_BACKGROUND",
1497      "description": "Allows a companion app to use data in the background.",
1498      "explanation": null,
1499      "constant": "android.permission.REQUEST_COMPANION_USE_DATA_IN_BACKGROUND",
1500      "protection": "normal",
1501      "warning": null
1502    },
1503    "REQUEST_DELETE_PACKAGES": {
1504      "apiAdded": 26,
1505      "apiDeprecated": null,
1506      "apiReplaced": null,
1507      "name": "REQUEST_DELETE_PACKAGES",
1508      "description": "Allows an application to request deleting packages.",
1509      "explanation": "Apps targeting APIs <code translate=\"no\" dir=\"ltr\"><a href=\"https://developer.android.com/reference/android/os/Build.VERSION_CODES#P\">Build.VERSION_CODES.P</a></code> or greater must hold this permission in order to use <code translate=\"no\" dir=\"ltr\"><a href=\"https://developer.android.com/reference/android/content/Intent#ACTION_UNINSTALL_PACKAGE\">Intent.ACTION_UNINSTALL_PACKAGE</a></code> or <code translate=\"no\" dir=\"ltr\"><a href=\"https://developer.android.com/reference/android/content/pm/PackageInstaller#uninstall(android.content.pm.VersionedPackage,%20android.content.IntentSender)\">PackageInstaller.uninstall(VersionedPackage, IntentSender)</a></code>.",
1510      "constant": "android.permission.REQUEST_DELETE_PACKAGES",
1511      "protection": "normal",
1512      "warning": null
1513    },
1514    "REQUEST_IGNORE_BATTERY_OPTIMIZATIONS": {
1515      "apiAdded": 23,
1516      "apiDeprecated": null,
1517      "apiReplaced": null,
1518      "name": "REQUEST_IGNORE_BATTERY_OPTIMIZATIONS",
1519      "description": "Permission an application must hold in order to use Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS.",
1520      "explanation": "Permission an application must hold in order to use <code translate=\"no\" dir=\"ltr\"><a href=\"https://developer.android.com/reference/android/provider/Settings#ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS\">Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS</a></code>.",
1521      "constant": "android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS",
1522      "protection": "normal",
1523      "warning": null
1524    },
1525    "REQUEST_INSTALL_PACKAGES": {
1526      "apiAdded": 23,
1527      "apiDeprecated": null,
1528      "apiReplaced": null,
1529      "name": "REQUEST_INSTALL_PACKAGES",
1530      "description": "Allows an application to request installing packages.",
1531      "explanation": "Apps targeting APIs greater than 25 must hold this permission in order to use <code translate=\"no\" dir=\"ltr\"><a href=\"https://developer.android.com/reference/android/content/Intent#ACTION_INSTALL_PACKAGE\">Intent.ACTION_INSTALL_PACKAGE</a></code>.",
1532      "constant": "android.permission.REQUEST_INSTALL_PACKAGES",
1533      "protection": "signature",
1534      "warning": null
1535    },
1536    "REQUEST_OBSERVE_COMPANION_DEVICE_PRESENCE": {
1537      "apiAdded": 31,
1538      "apiDeprecated": null,
1539      "apiReplaced": null,
1540      "name": "REQUEST_OBSERVE_COMPANION_DEVICE_PRESENCE",
1541      "description": "Allows an application to subscribe to notifications about the presence status change of their associated companion device",
1542      "explanation": null,
1543      "constant": "android.permission.REQUEST_OBSERVE_COMPANION_DEVICE_PRESENCE",
1544      "protection": null,
1545      "warning": null
1546    },
1547    "REQUEST_PASSWORD_COMPLEXITY": {
1548      "apiAdded": 29,
1549      "apiDeprecated": null,
1550      "apiReplaced": null,
1551      "name": "REQUEST_PASSWORD_COMPLEXITY",
1552      "description": "Allows an application to request the screen lock complexity and prompt users to update the screen lock to a certain complexity level.",
1553      "explanation": null,
1554      "constant": "android.permission.REQUEST_PASSWORD_COMPLEXITY",
1555      "protection": "normal",
1556      "warning": null
1557    },
1558    "RESTART_PACKAGES": {
1559      "apiAdded": 1,
1560      "apiDeprecated": 15,
1561      "apiReplaced": "ActivityManager.restartPackage(String)",
1562      "name": "RESTART_PACKAGES",
1563      "description": "",
1564      "explanation": null,
1565      "constant": "android.permission.RESTART_PACKAGES",
1566      "protection": null,
1567      "warning": "This constant was deprecated in API level 15. The ActivityManager.restartPackage(String) API is no longer supported."
1568    },
1569    "SCHEDULE_EXACT_ALARM": {
1570      "apiAdded": 31,
1571      "apiDeprecated": null,
1572      "apiReplaced": null,
1573      "name": "SCHEDULE_EXACT_ALARM",
1574      "description": "Allows applications to use exact alarm APIs.",
1575      "explanation": null,
1576      "constant": "android.permission.SCHEDULE_EXACT_ALARM",
1577      "protection": null,
1578      "warning": null
1579    },
1580    "SEND_RESPOND_VIA_MESSAGE": {
1581      "apiAdded": 18,
1582      "apiDeprecated": null,
1583      "apiReplaced": null,
1584      "name": "SEND_RESPOND_VIA_MESSAGE",
1585      "description": "Allows an application (Phone) to send a request to other applications to handle the respond-via-message action during incoming calls.",
1586      "explanation": null,
1587      "constant": "android.permission.SEND_RESPOND_VIA_MESSAGE",
1588      "protection": null,
1589      "warning": null
1590    },
1591    "SEND_SMS": {
1592      "apiAdded": 1,
1593      "apiDeprecated": null,
1594      "apiReplaced": null,
1595      "name": "SEND_SMS",
1596      "description": "Allows an application to send SMS messages.",
1597      "explanation": null,
1598      "constant": "android.permission.SEND_SMS",
1599      "protection": "dangerous",
1600      "warning": null
1601    },
1602    "SET_ALARM": {
1603      "apiAdded": 9,
1604      "apiDeprecated": null,
1605      "apiReplaced": null,
1606      "name": "SET_ALARM",
1607      "description": "Allows an application to broadcast an Intent to set an alarm for the user.",
1608      "explanation": null,
1609      "constant": "com.android.alarm.permission.SET_ALARM",
1610      "protection": "normal",
1611      "warning": null
1612    },
1613    "SET_ALWAYS_FINISH": {
1614      "apiAdded": 1,
1615      "apiDeprecated": null,
1616      "apiReplaced": null,
1617      "name": "SET_ALWAYS_FINISH",
1618      "description": "Allows an application to control whether activities are immediately finished when put in the background.",
1619      "explanation": null,
1620      "constant": "android.permission.SET_ALWAYS_FINISH",
1621      "protection": null,
1622      "warning": null
1623    },
1624    "SET_ANIMATION_SCALE": {
1625      "apiAdded": 1,
1626      "apiDeprecated": null,
1627      "apiReplaced": null,
1628      "name": "SET_ANIMATION_SCALE",
1629      "description": "Modify the global animation scaling factor.",
1630      "explanation": null,
1631      "constant": "android.permission.SET_ANIMATION_SCALE",
1632      "protection": null,
1633      "warning": null
1634    },
1635    "SET_DEBUG_APP": {
1636      "apiAdded": 1,
1637      "apiDeprecated": null,
1638      "apiReplaced": null,
1639      "name": "SET_DEBUG_APP",
1640      "description": "Configure an application for debugging.",
1641      "explanation": null,
1642      "constant": "android.permission.SET_DEBUG_APP",
1643      "protection": null,
1644      "warning": null
1645    },
1646    "SET_PREFERRED_APPLICATIONS": {
1647      "apiAdded": 1,
1648      "apiDeprecated": 15,
1649      "apiReplaced": "PackageManager.addPackageToPreferred(String)",
1650      "name": "SET_PREFERRED_APPLICATIONS",
1651      "description": "",
1652      "explanation": null,
1653      "constant": "android.permission.SET_PREFERRED_APPLICATIONS",
1654      "protection": null,
1655      "warning": "This constant was deprecated in API level 15. No longer useful, see PackageManager.addPackageToPreferred(String) for details."
1656    },
1657    "SET_PROCESS_LIMIT": {
1658      "apiAdded": 1,
1659      "apiDeprecated": null,
1660      "apiReplaced": null,
1661      "name": "SET_PROCESS_LIMIT",
1662      "description": "Allows an application to set the maximum number of (not needed) application processes that can be running.",
1663      "explanation": null,
1664      "constant": "android.permission.SET_PROCESS_LIMIT",
1665      "protection": null,
1666      "warning": null
1667    },
1668    "SET_TIME": {
1669      "apiAdded": 8,
1670      "apiDeprecated": null,
1671      "apiReplaced": null,
1672      "name": "SET_TIME",
1673      "description": "Allows applications to set the system time directly.",
1674      "explanation": null,
1675      "constant": "android.permission.SET_TIME",
1676      "protection": null,
1677      "warning": null
1678    },
1679    "SET_TIME_ZONE": {
1680      "apiAdded": 1,
1681      "apiDeprecated": null,
1682      "apiReplaced": null,
1683      "name": "SET_TIME_ZONE",
1684      "description": "Allows applications to set the system time zone directly.",
1685      "explanation": null,
1686      "constant": "android.permission.SET_TIME_ZONE",
1687      "protection": null,
1688      "warning": null
1689    },
1690    "SET_WALLPAPER": {
1691      "apiAdded": 1,
1692      "apiDeprecated": null,
1693      "apiReplaced": null,
1694      "name": "SET_WALLPAPER",
1695      "description": "Allows applications to set the wallpaper.",
1696      "explanation": null,
1697      "constant": "android.permission.SET_WALLPAPER",
1698      "protection": "normal",
1699      "warning": null
1700    },
1701    "SET_WALLPAPER_HINTS": {
1702      "apiAdded": 1,
1703      "apiDeprecated": null,
1704      "apiReplaced": null,
1705      "name": "SET_WALLPAPER_HINTS",
1706      "description": "Allows applications to set the wallpaper hints.",
1707      "explanation": null,
1708      "constant": "android.permission.SET_WALLPAPER_HINTS",
1709      "protection": "normal",
1710      "warning": null
1711    },
1712    "SIGNAL_PERSISTENT_PROCESSES": {
1713      "apiAdded": 1,
1714      "apiDeprecated": null,
1715      "apiReplaced": null,
1716      "name": "SIGNAL_PERSISTENT_PROCESSES",
1717      "description": "Allow an application to request that a signal be sent to all persistent processes.",
1718      "explanation": null,
1719      "constant": "android.permission.SIGNAL_PERSISTENT_PROCESSES",
1720      "protection": null,
1721      "warning": null
1722    },
1723    "SMS_FINANCIAL_TRANSACTIONS": {
1724      "apiAdded": 29,
1725      "apiDeprecated": 31,
1726      "apiReplaced": null,
1727      "name": "SMS_FINANCIAL_TRANSACTIONS",
1728      "description": "",
1729      "explanation": null,
1730      "constant": "android.permission.SMS_FINANCIAL_TRANSACTIONS",
1731      "protection": null,
1732      "warning": "This constant was deprecated in API level 31. The API that used this permission is no longer functional."
1733    },
1734    "START_FOREGROUND_SERVICES_FROM_BACKGROUND": {
1735      "apiAdded": 31,
1736      "apiDeprecated": null,
1737      "apiReplaced": null,
1738      "name": "START_FOREGROUND_SERVICES_FROM_BACKGROUND",
1739      "description": "Allows an application to start foreground services from the background at any time.",
1740      "explanation": "<em>This permission is not for use by third-party applications</em>, with the only exception being if the app is the default SMS app. Otherwise, it's only usable by privileged apps, app verifier app, and apps with any of the EMERGENCY or SYSTEM GALLERY roles.",
1741      "constant": "android.permission.START_FOREGROUND_SERVICES_FROM_BACKGROUND",
1742      "protection": null,
1743      "warning": null
1744    },
1745    "START_VIEW_PERMISSION_USAGE": {
1746      "apiAdded": 29,
1747      "apiDeprecated": null,
1748      "apiReplaced": null,
1749      "name": "START_VIEW_PERMISSION_USAGE",
1750      "description": "Allows the holder to start the permission usage screen for an app.",
1751      "explanation": null,
1752      "constant": "android.permission.START_VIEW_PERMISSION_USAGE",
1753      "protection": "signature|installer",
1754      "warning": null
1755    },
1756    "STATUS_BAR": {
1757      "apiAdded": 1,
1758      "apiDeprecated": null,
1759      "apiReplaced": null,
1760      "name": "STATUS_BAR",
1761      "description": "Allows an application to open, close, or disable the status bar and its icons.",
1762      "explanation": null,
1763      "constant": "android.permission.STATUS_BAR",
1764      "protection": null,
1765      "warning": null
1766    },
1767    "SYSTEM_ALERT_WINDOW": {
1768      "apiAdded": 1,
1769      "apiDeprecated": null,
1770      "apiReplaced": null,
1771      "name": "SYSTEM_ALERT_WINDOW",
1772      "description": "Allows an app to create windows using the type WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY, shown on top of all other apps.",
1773      "explanation": "Allows an app to create windows using the type <code translate=\"no\" dir=\"ltr\"><a href=\"https://developer.android.com/reference/android/view/WindowManager.LayoutParams#TYPE_APPLICATION_OVERLAY\">WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY</a></code>, shown on top of all other apps. Very few apps should use this permission; these windows are intended for system-level interaction with the user.",
1774      "constant": "android.permission.SYSTEM_ALERT_WINDOW",
1775      "protection": "signature|setup|appop|installer|pre23|development",
1776      "warning": null
1777    },
1778    "TRANSMIT_IR": {
1779      "apiAdded": 19,
1780      "apiDeprecated": null,
1781      "apiReplaced": null,
1782      "name": "TRANSMIT_IR",
1783      "description": "Allows using the device's IR transmitter, if available.",
1784      "explanation": null,
1785      "constant": "android.permission.TRANSMIT_IR",
1786      "protection": "normal",
1787      "warning": null
1788    },
1789    "UNINSTALL_SHORTCUT": {
1790      "apiAdded": 19,
1791      "apiDeprecated": null,
1792      "apiReplaced": null,
1793      "name": "UNINSTALL_SHORTCUT",
1794      "description": "",
1795      "explanation": null,
1796      "constant": "com.android.launcher.permission.UNINSTALL_SHORTCUT",
1797      "protection": null,
1798      "warning": "Don't use this permission in your app.This permission is no longer supported."
1799    },
1800    "UPDATE_DEVICE_STATS": {
1801      "apiAdded": 3,
1802      "apiDeprecated": null,
1803      "apiReplaced": null,
1804      "name": "UPDATE_DEVICE_STATS",
1805      "description": "Allows an application to update device statistics.",
1806      "explanation": null,
1807      "constant": "android.permission.UPDATE_DEVICE_STATS",
1808      "protection": null,
1809      "warning": null
1810    },
1811    "UPDATE_PACKAGES_WITHOUT_USER_ACTION": {
1812      "apiAdded": 31,
1813      "apiDeprecated": null,
1814      "apiReplaced": null,
1815      "name": "UPDATE_PACKAGES_WITHOUT_USER_ACTION",
1816      "description": "Allows an application to indicate via PackageInstaller.SessionParams.setRequireUserAction(int) that user action should not be required for an app update.",
1817      "explanation": "Allows an application to indicate via <code translate=\"no\" dir=\"ltr\"><a href=\"https://developer.android.com/reference/android/content/pm/PackageInstaller.SessionParams#setRequireUserAction(int)\">PackageInstaller.SessionParams.setRequireUserAction(int)</a></code> that user action should not be required for an app update.",
1818      "constant": "android.permission.UPDATE_PACKAGES_WITHOUT_USER_ACTION",
1819      "protection": "normal",
1820      "warning": null
1821    },
1822    "USE_BIOMETRIC": {
1823      "apiAdded": 28,
1824      "apiDeprecated": null,
1825      "apiReplaced": null,
1826      "name": "USE_BIOMETRIC",
1827      "description": "Allows an app to use device supported biometric modalities.",
1828      "explanation": null,
1829      "constant": "android.permission.USE_BIOMETRIC",
1830      "protection": "normal",
1831      "warning": null
1832    },
1833    "USE_FINGERPRINT": {
1834      "apiAdded": 23,
1835      "apiDeprecated": 28,
1836      "apiReplaced": "USE_BIOMETRIC",
1837      "name": "USE_FINGERPRINT",
1838      "description": "",
1839      "explanation": null,
1840      "constant": "android.permission.USE_FINGERPRINT",
1841      "protection": "normal",
1842      "warning": "This constant was deprecated in API level 28. Applications should request USE_BIOMETRIC instead"
1843    },
1844    "USE_FULL_SCREEN_INTENT": {
1845      "apiAdded": 29,
1846      "apiDeprecated": null,
1847      "apiReplaced": null,
1848      "name": "USE_FULL_SCREEN_INTENT",
1849      "description": "Required for apps targeting Build.VERSION_CODES.Q that want to use notification full screen intents.",
1850      "explanation": "Required for apps targeting <code translate=\"no\" dir=\"ltr\"><a href=\"https://developer.android.com/reference/android/os/Build.VERSION_CODES#Q\">Build.VERSION_CODES.Q</a></code> that want to use <code translate=\"no\" dir=\"ltr\"><a href=\"https://developer.android.com/reference/android/app/Notification.Builder#setFullScreenIntent(android.app.PendingIntent,%20boolean)\">notification full screen intents</a></code>.",
1851      "constant": "android.permission.USE_FULL_SCREEN_INTENT",
1852      "protection": "normal",
1853      "warning": null
1854    },
1855    "USE_ICC_AUTH_WITH_DEVICE_IDENTIFIER": {
1856      "apiAdded": 31,
1857      "apiDeprecated": null,
1858      "apiReplaced": null,
1859      "name": "USE_ICC_AUTH_WITH_DEVICE_IDENTIFIER",
1860      "description": "Allows to read device identifiers and use ICC based authentication like EAP-AKA.",
1861      "explanation": "Often required in authentication to access the carrier's server and manage services of the subscriber.",
1862      "constant": "android.permission.USE_ICC_AUTH_WITH_DEVICE_IDENTIFIER",
1863      "protection": "signature|appop",
1864      "warning": null
1865    },
1866    "USE_SIP": {
1867      "apiAdded": 9,
1868      "apiDeprecated": null,
1869      "apiReplaced": null,
1870      "name": "USE_SIP",
1871      "description": "Allows an application to use SIP service.",
1872      "explanation": null,
1873      "constant": "android.permission.USE_SIP",
1874      "protection": "dangerous",
1875      "warning": null
1876    },
1877    "UWB_RANGING": {
1878      "apiAdded": 31,
1879      "apiDeprecated": null,
1880      "apiReplaced": null,
1881      "name": "UWB_RANGING",
1882      "description": "Required to be able to range to devices using ultra-wideband.",
1883      "explanation": null,
1884      "constant": "android.permission.UWB_RANGING",
1885      "protection": "dangerous",
1886      "warning": null
1887    },
1888    "VIBRATE": {
1889      "apiAdded": 1,
1890      "apiDeprecated": null,
1891      "apiReplaced": null,
1892      "name": "VIBRATE",
1893      "description": "Allows access to the vibrator.",
1894      "explanation": null,
1895      "constant": "android.permission.VIBRATE",
1896      "protection": "normal",
1897      "warning": null
1898    },
1899    "WAKE_LOCK": {
1900      "apiAdded": 1,
1901      "apiDeprecated": null,
1902      "apiReplaced": null,
1903      "name": "WAKE_LOCK",
1904      "description": "Allows using PowerManager WakeLocks to keep processor from sleeping or screen from dimming.",
1905      "explanation": null,
1906      "constant": "android.permission.WAKE_LOCK",
1907      "protection": "normal",
1908      "warning": null
1909    },
1910    "WRITE_APN_SETTINGS": {
1911      "apiAdded": 1,
1912      "apiDeprecated": null,
1913      "apiReplaced": null,
1914      "name": "WRITE_APN_SETTINGS",
1915      "description": "Allows applications to write the apn settings and read sensitive fields of an existing apn settings like user and password.",
1916      "explanation": null,
1917      "constant": "android.permission.WRITE_APN_SETTINGS",
1918      "protection": null,
1919      "warning": null
1920    },
1921    "WRITE_CALENDAR": {
1922      "apiAdded": 1,
1923      "apiDeprecated": null,
1924      "apiReplaced": null,
1925      "name": "WRITE_CALENDAR",
1926      "description": "Allows an application to write the user's calendar data.",
1927      "explanation": null,
1928      "constant": "android.permission.WRITE_CALENDAR",
1929      "protection": "dangerous",
1930      "warning": null
1931    },
1932    "WRITE_CALL_LOG": {
1933      "apiAdded": 16,
1934      "apiDeprecated": null,
1935      "apiReplaced": null,
1936      "name": "WRITE_CALL_LOG",
1937      "description": "Allows an application to write (but not read) the user's call log data.",
1938      "explanation": null,
1939      "constant": "android.permission.WRITE_CALL_LOG",
1940      "protection": "dangerous",
1941      "warning": null
1942    },
1943    "WRITE_CONTACTS": {
1944      "apiAdded": 1,
1945      "apiDeprecated": null,
1946      "apiReplaced": null,
1947      "name": "WRITE_CONTACTS",
1948      "description": "Allows an application to write the user's contacts data.",
1949      "explanation": null,
1950      "constant": "android.permission.WRITE_CONTACTS",
1951      "protection": "dangerous",
1952      "warning": null
1953    },
1954    "WRITE_EXTERNAL_STORAGE": {
1955      "apiAdded": 4,
1956      "apiDeprecated": null,
1957      "apiReplaced": null,
1958      "name": "WRITE_EXTERNAL_STORAGE",
1959      "description": "Allows an application to write to external storage.",
1960      "explanation": null,
1961      "constant": "android.permission.WRITE_EXTERNAL_STORAGE",
1962      "protection": "dangerous",
1963      "warning": null
1964    },
1965    "WRITE_GSERVICES": {
1966      "apiAdded": 1,
1967      "apiDeprecated": null,
1968      "apiReplaced": null,
1969      "name": "WRITE_GSERVICES",
1970      "description": "Allows an application to modify the Google service map.",
1971      "explanation": null,
1972      "constant": "android.permission.WRITE_GSERVICES",
1973      "protection": null,
1974      "warning": null
1975    },
1976    "WRITE_SECURE_SETTINGS": {
1977      "apiAdded": 3,
1978      "apiDeprecated": null,
1979      "apiReplaced": null,
1980      "name": "WRITE_SECURE_SETTINGS",
1981      "description": "Allows an application to read or write the secure system settings.",
1982      "explanation": null,
1983      "constant": "android.permission.WRITE_SECURE_SETTINGS",
1984      "protection": null,
1985      "warning": null
1986    },
1987    "WRITE_SETTINGS": {
1988      "apiAdded": 1,
1989      "apiDeprecated": null,
1990      "apiReplaced": null,
1991      "name": "WRITE_SETTINGS",
1992      "description": "Allows an application to read or write the system settings.",
1993      "explanation": null,
1994      "constant": "android.permission.WRITE_SETTINGS",
1995      "protection": "signature|preinstalled|appop|pre23",
1996      "warning": null
1997    },
1998    "WRITE_SYNC_SETTINGS": {
1999      "apiAdded": 1,
2000      "apiDeprecated": null,
2001      "apiReplaced": null,
2002      "name": "WRITE_SYNC_SETTINGS",
2003      "description": "Allows applications to write the sync settings.",
2004      "explanation": null,
2005      "constant": "android.permission.WRITE_SYNC_SETTINGS",
2006      "protection": "normal",
2007      "warning": null
2008    },
2009    "WRITE_VOICEMAIL": {
2010      "apiAdded": 21,
2011      "apiDeprecated": null,
2012      "apiReplaced": null,
2013      "name": "WRITE_VOICEMAIL",
2014      "description": "Allows an application to modify and remove existing voicemails in the system.",
2015      "explanation": null,
2016      "constant": "com.android.voicemail.permission.WRITE_VOICEMAIL",
2017      "protection": "signature|privileged|role",
2018      "warning": null
2019    }
2020  }
2021}
2022