AndroidManifest.xml revision 8740cb1da6adb71a4e195774801c97db5853b097
1<?xml version="1.0" encoding="utf-8"?>
2<!--
3/* //device/apps/common/AndroidManifest.xml
4**
5** Copyright 2006, The Android Open Source Project
6**
7** Licensed under the Apache License, Version 2.0 (the "License");
8** you may not use this file except in compliance with the License.
9** You may obtain a copy of the License at
10**
11**     http://www.apache.org/licenses/LICENSE-2.0
12**
13** Unless required by applicable law or agreed to in writing, software
14** distributed under the License is distributed on an "AS IS" BASIS,
15** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16** See the License for the specific language governing permissions and
17** limitations under the License.
18*/
19-->
20<manifest xmlns:android="http://schemas.android.com/apk/res/android"
21    package="android" coreApp="true" android:sharedUserId="android.uid.system"
22    android:sharedUserLabel="@string/android_system_label">
23
24    <!-- ================================================ -->
25    <!-- Special broadcasts that only the system can send -->
26    <!-- ================================================ -->
27    <eat-comment />
28
29    <protected-broadcast android:name="android.intent.action.SCREEN_OFF" />
30    <protected-broadcast android:name="android.intent.action.SCREEN_ON" />
31    <protected-broadcast android:name="android.intent.action.USER_PRESENT" />
32    <protected-broadcast android:name="android.intent.action.TIME_TICK" />
33    <protected-broadcast android:name="android.intent.action.TIMEZONE_CHANGED" />
34    <protected-broadcast android:name="android.intent.action.BOOT_COMPLETED" />
35    <protected-broadcast android:name="android.intent.action.PACKAGE_INSTALL" />
36    <protected-broadcast android:name="android.intent.action.PACKAGE_ADDED" />
37    <protected-broadcast android:name="android.intent.action.PACKAGE_REPLACED" />
38    <protected-broadcast android:name="android.intent.action.MY_PACKAGE_REPLACED" />
39    <protected-broadcast android:name="android.intent.action.PACKAGE_REMOVED" />
40    <protected-broadcast android:name="android.intent.action.PACKAGE_FULLY_REMOVED" />
41    <protected-broadcast android:name="android.intent.action.PACKAGE_CHANGED" />
42    <protected-broadcast android:name="android.intent.action.PACKAGE_RESTARTED" />
43    <protected-broadcast android:name="android.intent.action.PACKAGE_DATA_CLEARED" />
44    <protected-broadcast android:name="android.intent.action.PACKAGE_FIRST_LAUNCH" />
45    <protected-broadcast android:name="android.intent.action.PACKAGE_NEEDS_VERIFICATION" />
46    <protected-broadcast android:name="android.intent.action.PACKAGE_VERIFIED" />
47    <protected-broadcast android:name="android.intent.action.UID_REMOVED" />
48    <protected-broadcast android:name="android.intent.action.QUERY_PACKAGE_RESTART" />
49    <protected-broadcast android:name="android.intent.action.CONFIGURATION_CHANGED" />
50    <protected-broadcast android:name="android.intent.action.LOCALE_CHANGED" />
51    <protected-broadcast android:name="android.intent.action.BATTERY_CHANGED" />
52    <protected-broadcast android:name="android.intent.action.BATTERY_LOW" />
53    <protected-broadcast android:name="android.intent.action.BATTERY_OKAY" />
54    <protected-broadcast android:name="android.intent.action.ACTION_POWER_CONNECTED" />
55    <protected-broadcast android:name="android.intent.action.ACTION_POWER_DISCONNECTED" />
56    <protected-broadcast android:name="android.intent.action.ACTION_SHUTDOWN" />
57    <protected-broadcast android:name="android.intent.action.DEVICE_STORAGE_LOW" />
58    <protected-broadcast android:name="android.intent.action.DEVICE_STORAGE_OK" />
59    <protected-broadcast android:name="android.intent.action.DEVICE_STORAGE_FULL" />
60    <protected-broadcast android:name="android.intent.action.DEVICE_STORAGE_NOT_FULL" />
61    <protected-broadcast android:name="android.intent.action.NEW_OUTGOING_CALL" />
62    <protected-broadcast android:name="android.intent.action.REBOOT" />
63    <protected-broadcast android:name="android.intent.action.DOCK_EVENT" />
64    <protected-broadcast android:name="android.intent.action.MASTER_CLEAR_NOTIFICATION" />
65    <protected-broadcast android:name="android.intent.action.USER_ADDED" />
66    <protected-broadcast android:name="android.intent.action.USER_REMOVED" />
67    <protected-broadcast android:name="android.intent.action.USER_STOPPED" />
68    <protected-broadcast android:name="android.intent.action.USER_BACKGROUND" />
69    <protected-broadcast android:name="android.intent.action.USER_FOREGROUND" />
70    <protected-broadcast android:name="android.intent.action.USER_SWITCHED" />
71
72    <protected-broadcast android:name="android.app.action.ENTER_CAR_MODE" />
73    <protected-broadcast android:name="android.app.action.EXIT_CAR_MODE" />
74    <protected-broadcast android:name="android.app.action.ENTER_DESK_MODE" />
75    <protected-broadcast android:name="android.app.action.EXIT_DESK_MODE" />
76
77    <protected-broadcast android:name="android.appwidget.action.APPWIDGET_UPDATE_OPTIONS" />
78    <protected-broadcast android:name="android.appwidget.action.APPWIDGET_DELETED" />
79    <protected-broadcast android:name="android.appwidget.action.APPWIDGET_DISABLED" />
80    <protected-broadcast android:name="android.appwidget.action.APPWIDGET_ENABLED" />
81
82    <protected-broadcast android:name="android.backup.intent.RUN" />
83    <protected-broadcast android:name="android.backup.intent.CLEAR" />
84    <protected-broadcast android:name="android.backup.intent.INIT" />
85
86    <protected-broadcast android:name="android.bluetooth.adapter.action.STATE_CHANGED" />
87    <protected-broadcast android:name="android.bluetooth.adapter.action.SCAN_MODE_CHANGED" />
88    <protected-broadcast android:name="android.bluetooth.adapter.action.DISCOVERY_STARTED" />
89    <protected-broadcast android:name="android.bluetooth.adapter.action.DISCOVERY_FINISHED" />
90    <protected-broadcast android:name="android.bluetooth.adapter.action.LOCAL_NAME_CHANGED" />
91    <protected-broadcast android:name="android.bluetooth.adapter.action.CONNECTION_STATE_CHANGED" />
92    <protected-broadcast android:name="android.bluetooth.device.action.FOUND" />
93    <protected-broadcast android:name="android.bluetooth.device.action.DISAPPEARED" />
94    <protected-broadcast android:name="android.bluetooth.device.action.CLASS_CHANGED" />
95    <protected-broadcast android:name="android.bluetooth.device.action.ACL_CONNECTED" />
96    <protected-broadcast android:name="android.bluetooth.device.action.ACL_DISCONNECT_REQUESTED" />
97    <protected-broadcast android:name="android.bluetooth.device.action.ACL_DISCONNECTED" />
98    <protected-broadcast android:name="android.bluetooth.device.action.NAME_CHANGED" />
99    <protected-broadcast android:name="android.bluetooth.device.action.BOND_STATE_CHANGED" />
100    <protected-broadcast android:name="android.bluetooth.device.action.NAME_FAILED" />
101    <protected-broadcast android:name="android.bluetooth.device.action.PAIRING_REQUEST" />
102    <protected-broadcast android:name="android.bluetooth.device.action.PAIRING_CANCEL" />
103    <protected-broadcast android:name="android.bluetooth.device.action.CONNECTION_ACCESS_REPLY" />
104    <protected-broadcast
105        android:name="android.bluetooth.headset.profile.action.CONNECTION_STATE_CHANGED" />
106    <protected-broadcast
107        android:name="android.bluetooth.headset.profile.action.AUDIO_STATE_CHANGED" />
108    <protected-broadcast
109        android:name="android.bluetooth.headset.action.VENDOR_SPECIFIC_HEADSET_EVENT" />
110    <protected-broadcast
111        android:name="android.bluetooth.a2dp.profile.action.CONNECTION_STATE_CHANGED" />
112    <protected-broadcast
113        android:name="android.bluetooth.a2dp.profile.action.PLAYING_STATE_CHANGED" />
114    <protected-broadcast
115        android:name="android.bluetooth.input.profile.action.CONNECTION_STATE_CHANGED" />
116    <protected-broadcast
117        android:name="android.bluetooth.pan.profile.action.CONNECTION_STATE_CHANGED" />
118
119    <protected-broadcast android:name="android.hardware.display.action.WIFI_DISPLAY_STATUS_CHANGED" />
120
121    <protected-broadcast android:name="android.hardware.usb.action.USB_STATE" />
122    <protected-broadcast android:name="android.hardware.usb.action.USB_ACCESSORY_ATTACHED" />
123    <protected-broadcast android:name="android.hardware.usb.action.USB_ACCESSORY_ATTACHED" />
124    <protected-broadcast android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" />
125    <protected-broadcast android:name="android.hardware.usb.action.USB_DEVICE_DETACHED" />
126
127    <protected-broadcast android:name="android.intent.action.HEADSET_PLUG" />
128    <protected-broadcast android:name="android.intent.action.ANALOG_AUDIO_DOCK_PLUG" />
129    <protected-broadcast android:name="android.intent.action.DIGITAL_AUDIO_DOCK_PLUG" />
130    <protected-broadcast android:name="android.intent.action.HDMI_AUDIO_PLUG" />
131    <protected-broadcast android:name="android.intent.action.USB_AUDIO_ACCESSORY_PLUG" />
132    <protected-broadcast android:name="android.intent.action.USB_AUDIO_DEVICE_PLUG" />
133
134    <protected-broadcast android:name="android.net.conn.CONNECTIVITY_CHANGE" />
135    <protected-broadcast android:name="android.net.conn.CONNECTIVITY_CHANGE_IMMEDIATE" />
136    <protected-broadcast android:name="android.net.conn.DATA_ACTIVITY_CHANGE" />
137    <protected-broadcast android:name="android.net.conn.CAPTIVE_PORTAL_TEST_COMPLETED" />
138
139    <protected-broadcast android:name="android.nfc.action.LLCP_LINK_STATE_CHANGED" />
140    <protected-broadcast android:name="com.android.nfc_extras.action.RF_FIELD_ON_DETECTED" />
141    <protected-broadcast android:name="com.android.nfc_extras.action.RF_FIELD_OFF_DETECTED" />
142    <protected-broadcast android:name="com.android.nfc_extras.action.AID_SELECTED" />
143
144    <protected-broadcast android:name="android.nfc.action.TRANSACTION_DETECTED" />
145    <protected-broadcast android:name="android.intent.action.CLEAR_DNS_CACHE" />
146    <protected-broadcast android:name="android.intent.action.PROXY_CHANGE" />
147
148    <protected-broadcast android:name="android.os.UpdateLock.UPDATE_LOCK_CHANGED" />
149
150    <protected-broadcast android:name="android.intent.action.DREAMING_STARTED" />
151    <protected-broadcast android:name="android.intent.action.DREAMING_STOPPED" />
152    <protected-broadcast android:name="android.intent.action.ANY_DATA_STATE" />
153
154    <protected-broadcast android:name="com.android.server.WifiManager.action.START_SCAN" />
155    <protected-broadcast android:name="com.android.server.WifiManager.action.DELAYED_DRIVER_STOP" />
156    <protected-broadcast android:name="android.net.wifi.WIFI_STATE_CHANGED" />
157    <protected-broadcast android:name="android.net.wifi.WIFI_AP_STATE_CHANGED" />
158    <protected-broadcast android:name="android.net.wifi.SCAN_RESULTS" />
159    <protected-broadcast android:name="android.net.wifi.RSSI_CHANGED" />
160    <protected-broadcast android:name="android.net.wifi.STATE_CHANGE" />
161    <protected-broadcast android:name="android.net.wifi.LINK_CONFIGURATION_CHANGED" />
162    <protected-broadcast android:name="android.net.wifi.CONFIGURED_NETWORKS_CHANGE" />
163    <protected-broadcast android:name="android.net.wifi.supplicant.CONNECTION_CHANGE" />
164    <protected-broadcast android:name="android.net.wifi.supplicant.STATE_CHANGE" />
165    <protected-broadcast android:name="android.net.wifi.p2p.STATE_CHANGED" />
166    <protected-broadcast android:name="android.net.wifi.p2p.DISCOVERY_STATE_CHANGE" />
167    <protected-broadcast android:name="android.net.wifi.p2p.THIS_DEVICE_CHANGED" />
168    <protected-broadcast android:name="android.net.wifi.p2p.PEERS_CHANGED" />
169    <protected-broadcast android:name="android.net.wifi.p2p.CONNECTION_STATE_CHANGE" />
170    <protected-broadcast android:name="android.net.wifi.p2p.PERSISTENT_GROUPS_CHANGED" />
171    <protected-broadcast android:name="android.net.conn.TETHER_STATE_CHANGED" />
172    <protected-broadcast android:name="android.net.conn.INET_CONDITION_ACTION" />
173    <protected-broadcast android:name="android.intent.action.EXTERNAL_APPLICATIONS_AVAILABLE" />
174    <protected-broadcast android:name="android.intent.action.EXTERNAL_APPLICATIONS_UNAVAILABLE" />
175    <protected-broadcast android:name="android.intent.action.AIRPLANE_MODE" />
176    <protected-broadcast android:name="android.intent.action.ADVANCED_SETTINGS" />
177    <protected-broadcast android:name="android.intent.action.BUGREPORT_FINISHED" />
178
179    <protected-broadcast android:name="android.intent.action.ACTION_IDLE_MAINTENANCE_START" />
180    <protected-broadcast android:name="android.intent.action.ACTION_IDLE_MAINTENANCE_END" />
181
182    <!-- ====================================== -->
183    <!-- Permissions for things that cost money -->
184    <!-- ====================================== -->
185    <eat-comment />
186
187    <!-- Used for permissions that can be used to make the user spend money
188         without their direct involvement. -->
189    <permission-group android:name="android.permission-group.COST_MONEY"
190        android:label="@string/permgrouplab_costMoney"
191        android:description="@string/permgroupdesc_costMoney" />
192
193    <!-- ================================== -->
194    <!-- Permissions for accessing messages -->
195    <!-- ================================== -->
196    <eat-comment />
197
198    <!-- Used for permissions that allow an application to send messages
199         on behalf of the user or intercept messages being received by the
200         user.  This is primarily intended for SMS/MMS messaging, such as
201         receiving or reading an MMS. -->
202    <permission-group android:name="android.permission-group.MESSAGES"
203        android:label="@string/permgrouplab_messages"
204        android:icon="@drawable/perm_group_messages"
205        android:description="@string/permgroupdesc_messages"
206        android:permissionGroupFlags="personalInfo"
207        android:priority="360"/>
208
209    <!-- Allows an application to send SMS messages. -->
210    <permission android:name="android.permission.SEND_SMS"
211        android:permissionGroup="android.permission-group.MESSAGES"
212        android:protectionLevel="dangerous"
213        android:permissionFlags="costsMoney"
214        android:label="@string/permlab_sendSms"
215        android:description="@string/permdesc_sendSms" />
216
217    <!-- Allows an application (Phone) to send a request to other applications
218         to handle the respond-via-message action during incoming calls. -->
219    <permission android:name="android.permission.SEND_RESPOND_VIA_MESSAGE"
220        android:permissionGroup="android.permission-group.MESSAGES"
221        android:protectionLevel="signature|system"
222        android:label="@string/permlab_sendRespondViaMessageRequest"
223        android:description="@string/permdesc_sendRespondViaMessageRequest" />
224
225    <!-- Allows an application to monitor incoming SMS messages, to record
226         or perform processing on them. -->
227    <permission android:name="android.permission.RECEIVE_SMS"
228        android:permissionGroup="android.permission-group.MESSAGES"
229        android:protectionLevel="dangerous"
230        android:label="@string/permlab_receiveSms"
231        android:description="@string/permdesc_receiveSms" />
232
233    <!-- Allows an application to monitor incoming MMS messages, to record
234         or perform processing on them. -->
235    <permission android:name="android.permission.RECEIVE_MMS"
236        android:permissionGroup="android.permission-group.MESSAGES"
237        android:protectionLevel="dangerous"
238        android:label="@string/permlab_receiveMms"
239        android:description="@string/permdesc_receiveMms" />
240
241    <!-- Allows an application to receive emergency cell broadcast messages,
242         to record or display them to the user. Reserved for system apps.
243         @hide Pending API council approval -->
244    <permission android:name="android.permission.RECEIVE_EMERGENCY_BROADCAST"
245        android:permissionGroup="android.permission-group.MESSAGES"
246        android:protectionLevel="signature|system"
247        android:label="@string/permlab_receiveEmergencyBroadcast"
248        android:description="@string/permdesc_receiveEmergencyBroadcast" />
249
250    <!-- Allows an application to read previously received cell broadcast
251         messages and to register a content observer to get notifications when
252         a cell broadcast has been received and added to the database. For
253         emergency alerts, the database is updated immediately after the
254         alert dialog and notification sound/vibration/speech are presented.
255         The "read" column is then updated after the user dismisses the alert.
256         This enables supplementary emergency assistance apps to start loading
257         additional emergency information (if Internet access is available)
258         when the alert is first received, and to delay presenting the info
259         to the user until after the initial alert dialog is dismissed.
260         @hide Pending API council approval -->
261    <permission android:name="android.permission.READ_CELL_BROADCASTS"
262        android:permissionGroup="android.permission-group.MESSAGES"
263        android:protectionLevel="dangerous"
264        android:label="@string/permlab_readCellBroadcasts"
265        android:description="@string/permdesc_readCellBroadcasts" />
266
267    <!-- Allows an application to read SMS messages. -->
268    <permission android:name="android.permission.READ_SMS"
269        android:permissionGroup="android.permission-group.MESSAGES"
270        android:protectionLevel="dangerous"
271        android:label="@string/permlab_readSms"
272        android:description="@string/permdesc_readSms" />
273
274    <!-- Allows an application to write SMS messages. -->
275    <permission android:name="android.permission.WRITE_SMS"
276        android:permissionGroup="android.permission-group.MESSAGES"
277        android:protectionLevel="dangerous"
278        android:label="@string/permlab_writeSms"
279        android:description="@string/permdesc_writeSms" />
280
281    <!-- Allows an application to monitor incoming WAP push messages. -->
282    <permission android:name="android.permission.RECEIVE_WAP_PUSH"
283        android:permissionGroup="android.permission-group.MESSAGES"
284        android:protectionLevel="dangerous"
285        android:label="@string/permlab_receiveWapPush"
286        android:description="@string/permdesc_receiveWapPush" />
287
288    <!-- =============================================================== -->
289    <!-- Permissions for accessing social info (contacts and social) -->
290    <!-- =============================================================== -->
291    <eat-comment />
292
293    <!-- Used for permissions that provide access to the user's social connections,
294         such as contacts, call logs, social stream, etc.  This includes
295         both reading and writing of this data (which should generally be
296         expressed as two distinct permissions). -->
297
298    <permission-group android:name="android.permission-group.SOCIAL_INFO"
299        android:label="@string/permgrouplab_socialInfo"
300        android:icon="@drawable/perm_group_social_info"
301        android:description="@string/permgroupdesc_socialInfo"
302        android:permissionGroupFlags="personalInfo"
303        android:priority="320" />
304
305    <!-- Allows an application to read the user's contacts data. -->
306    <permission android:name="android.permission.READ_CONTACTS"
307        android:permissionGroup="android.permission-group.SOCIAL_INFO"
308        android:protectionLevel="dangerous"
309        android:label="@string/permlab_readContacts"
310        android:description="@string/permdesc_readContacts" />
311
312    <!-- Allows an application to write (but not read) the user's
313         contacts data. -->
314    <permission android:name="android.permission.WRITE_CONTACTS"
315        android:permissionGroup="android.permission-group.SOCIAL_INFO"
316        android:protectionLevel="dangerous"
317        android:label="@string/permlab_writeContacts"
318        android:description="@string/permdesc_writeContacts" />
319
320    <!-- Allows an application to execute contacts directory search.
321         This should only be used by ContactsProvider. -->
322    <!-- @hide -->
323    <permission android:name="android.permission.BIND_DIRECTORY_SEARCH"
324        android:permissionGroup="android.permission-group.PERSONAL_INFO"
325        android:protectionLevel="signature|system" />
326
327    <!-- Allows an application to read the user's call log.
328         <p class="note"><strong>Note:</strong> If your app uses the
329         {@link #READ_CONTACTS} permission and <em>both</em> your <a
330         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#min">{@code
331         minSdkVersion}</a> and <a
332         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
333         targetSdkVersion}</a> values are set to 15 or lower, the system implicitly
334         grants your app this permission. If you don't need this permission, be sure your <a
335         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
336         targetSdkVersion}</a> is 16 or higher.</p> -->
337    <permission android:name="android.permission.READ_CALL_LOG"
338        android:permissionGroup="android.permission-group.SOCIAL_INFO"
339        android:protectionLevel="dangerous"
340        android:label="@string/permlab_readCallLog"
341        android:description="@string/permdesc_readCallLog" />
342
343    <!-- Allows an application to write (but not read) the user's
344         contacts data.
345         <p class="note"><strong>Note:</strong> If your app uses the
346         {@link #WRITE_CONTACTS} permission and <em>both</em> your <a
347         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#min">{@code
348         minSdkVersion}</a> and <a
349         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
350         targetSdkVersion}</a> values are set to 15 or lower, the system implicitly
351         grants your app this permission. If you don't need this permission, be sure your <a
352         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
353         targetSdkVersion}</a> is 16 or higher.</p>  -->
354    <permission android:name="android.permission.WRITE_CALL_LOG"
355        android:permissionGroup="android.permission-group.SOCIAL_INFO"
356        android:protectionLevel="dangerous"
357        android:label="@string/permlab_writeCallLog"
358        android:description="@string/permdesc_writeCallLog" />
359
360  <!-- Allows an application to read from the user's social stream. -->
361    <permission android:name="android.permission.READ_SOCIAL_STREAM"
362        android:permissionGroup="android.permission-group.SOCIAL_INFO"
363        android:protectionLevel="dangerous"
364        android:label="@string/permlab_readSocialStream"
365        android:description="@string/permdesc_readSocialStream" />
366
367    <!-- Allows an application to write (but not read) the user's
368         social stream data. -->
369    <permission android:name="android.permission.WRITE_SOCIAL_STREAM"
370        android:permissionGroup="android.permission-group.SOCIAL_INFO"
371        android:protectionLevel="dangerous"
372        android:label="@string/permlab_writeSocialStream"
373        android:description="@string/permdesc_writeSocialStream" />
374
375    <!-- =============================================================== -->
376    <!-- Permissions for accessing information about the device owner    -->
377    <!-- =============================================================== -->
378    <eat-comment />
379
380    <!-- Used for permissions that provide access to information about the device
381         user such as profile information.  This includes both reading and
382         writing of this data (which should generally be expressed as two
383         distinct permissions). -->
384    <permission-group android:name="android.permission-group.PERSONAL_INFO"
385        android:label="@string/permgrouplab_personalInfo"
386        android:icon="@drawable/perm_group_personal_info"
387        android:description="@string/permgroupdesc_personalInfo"
388        android:permissionGroupFlags="personalInfo"
389        android:priority="310" />
390
391    <!-- Allows an application to read the user's personal profile data. -->
392    <permission android:name="android.permission.READ_PROFILE"
393        android:permissionGroup="android.permission-group.PERSONAL_INFO"
394        android:protectionLevel="dangerous"
395        android:label="@string/permlab_readProfile"
396        android:description="@string/permdesc_readProfile" />
397
398    <!-- Allows an application to write (but not read) the user's
399         personal profile data. -->
400    <permission android:name="android.permission.WRITE_PROFILE"
401        android:permissionGroup="android.permission-group.PERSONAL_INFO"
402        android:protectionLevel="dangerous"
403        android:label="@string/permlab_writeProfile"
404        android:description="@string/permdesc_writeProfile" />
405
406    <!-- =============================================================== -->
407    <!-- Permissions for accessing the device calendar                   -->
408    <!-- =============================================================== -->
409    <eat-comment />
410
411    <!-- Used for permissions that provide access to the device
412         calendar to create / view events.-->
413    <permission-group android:name="android.permission-group.CALENDAR"
414        android:label="@string/permgrouplab_calendar"
415        android:icon="@drawable/perm_group_calendar"
416        android:description="@string/permgroupdesc_calendar"
417        android:permissionGroupFlags="personalInfo"
418        android:priority="290" />
419
420    <!-- Allows an application to read the user's calendar data. -->
421    <permission android:name="android.permission.READ_CALENDAR"
422        android:permissionGroup="android.permission-group.PERSONAL_INFO"
423        android:protectionLevel="dangerous"
424        android:label="@string/permlab_readCalendar"
425        android:description="@string/permdesc_readCalendar" />
426
427    <!-- Allows an application to write (but not read) the user's
428         calendar data. -->
429    <permission android:name="android.permission.WRITE_CALENDAR"
430        android:permissionGroup="android.permission-group.PERSONAL_INFO"
431        android:protectionLevel="dangerous"
432        android:label="@string/permlab_writeCalendar"
433        android:description="@string/permdesc_writeCalendar" />
434
435    <!-- =============================================================== -->
436    <!-- Permissions for accessing the user dictionary-->
437    <!-- =============================================================== -->
438    <eat-comment />
439
440    <!-- Used for permissions that provide access to the user
441         calendar to create / view events.-->
442    <permission-group android:name="android.permission-group.USER_DICTIONARY"
443        android:label="@string/permgrouplab_dictionary"
444        android:icon="@drawable/perm_group_user_dictionary"
445        android:description="@string/permgroupdesc_dictionary"
446        android:permissionGroupFlags="personalInfo"
447        android:priority="170" />
448
449    <!-- Allows an application to read the user dictionary. This should
450         really only be required by an IME, or a dictionary editor like
451         the Settings app. -->
452    <permission android:name="android.permission.READ_USER_DICTIONARY"
453        android:permissionGroup="android.permission-group.USER_DICTIONARY"
454        android:protectionLevel="dangerous"
455        android:label="@string/permlab_readDictionary"
456        android:description="@string/permdesc_readDictionary" />
457
458    <!-- Used for permissions that provide access to the user
459         calendar to create / view events.-->
460    <permission-group android:name="android.permission-group.WRITE_USER_DICTIONARY"
461        android:label="@string/permgrouplab_writeDictionary"
462        android:icon="@drawable/perm_group_user_dictionary_write"
463        android:description="@string/permgroupdesc_writeDictionary"
464        android:priority="160" />
465
466    <!-- Allows an application to write to the user dictionary. -->
467    <permission android:name="android.permission.WRITE_USER_DICTIONARY"
468        android:permissionGroup="android.permission-group.WRITE_USER_DICTIONARY"
469        android:protectionLevel="normal"
470        android:label="@string/permlab_writeDictionary"
471        android:description="@string/permdesc_writeDictionary" />
472
473    <!-- =============================================================== -->
474    <!-- Permissions for accessing the user bookmarks                    -->
475    <!-- =============================================================== -->
476    <eat-comment />
477
478    <!-- Used for permissions that provide access to the user
479         bookmarks and browser history.-->
480    <permission-group android:name="android.permission-group.BOOKMARKS"
481        android:label="@string/permgrouplab_bookmarks"
482        android:icon="@drawable/perm_group_bookmarks"
483        android:description="@string/permgroupdesc_bookmarks"
484        android:permissionGroupFlags="personalInfo"
485        android:priority="300" />
486
487    <!-- Allows an application to read (but not write) the user's
488        browsing history and bookmarks. -->
489    <permission android:name="com.android.browser.permission.READ_HISTORY_BOOKMARKS"
490        android:permissionGroup="android.permission-group.BOOKMARKS"
491        android:label="@string/permlab_readHistoryBookmarks"
492        android:description="@string/permdesc_readHistoryBookmarks"
493        android:protectionLevel="dangerous" />
494
495    <!-- Allows an application to write (but not read) the user's
496        browsing history and bookmarks. -->
497    <permission android:name="com.android.browser.permission.WRITE_HISTORY_BOOKMARKS"
498        android:permissionGroup="android.permission-group.BOOKMARKS"
499        android:label="@string/permlab_writeHistoryBookmarks"
500        android:description="@string/permdesc_writeHistoryBookmarks"
501        android:protectionLevel="dangerous" />
502
503    <!-- =============================================================== -->
504    <!-- Permissions for setting the device alarm                        -->
505    <!-- =============================================================== -->
506    <eat-comment />
507
508    <!-- Used for permissions that provide access to the user voicemail box. -->
509    <permission-group android:name="android.permission-group.DEVICE_ALARMS"
510        android:label="@string/permgrouplab_deviceAlarms"
511        android:icon="@drawable/perm_group_device_alarms"
512        android:description="@string/permgroupdesc_deviceAlarms"
513        android:permissionGroupFlags="personalInfo"
514        android:priority="210" />
515
516    <!-- Allows an application to broadcast an Intent to set an alarm for the
517         user. -->
518    <permission android:name="com.android.alarm.permission.SET_ALARM"
519        android:permissionGroup="android.permission-group.DEVICE_ALARMS"
520        android:label="@string/permlab_setAlarm"
521        android:description="@string/permdesc_setAlarm"
522        android:protectionLevel="normal" />
523
524    <!-- =============================================================== -->
525    <!-- Permissions for accessing the user voicemail                    -->
526    <!-- =============================================================== -->
527    <eat-comment />
528
529    <!-- Used for permissions that provide access to the user voicemail box. -->
530    <permission-group android:name="android.permission-group.VOICEMAIL"
531        android:label="@string/permgrouplab_voicemail"
532        android:icon="@drawable/perm_group_voicemail"
533        android:description="@string/permgroupdesc_voicemail"
534        android:permissionGroupFlags="personalInfo"
535        android:priority="280" />
536
537   <!-- Allows an application to add voicemails into the system. -->
538    <permission android:name="com.android.voicemail.permission.ADD_VOICEMAIL"
539        android:permissionGroup="android.permission-group.VOICEMAIL"
540        android:protectionLevel="dangerous"
541        android:label="@string/permlab_addVoicemail"
542        android:description="@string/permdesc_addVoicemail" />
543
544    <!-- =============================================== -->
545    <!-- Permissions for enabling accessibility features -->
546    <!-- =============================================== -->
547
548    <!-- Used for permissions that allow requesting certain accessibility features. -->
549    <permission-group android:name="android.permission-group.ACCESSIBILITY_FEATURES"
550        android:label="@string/permgrouplab_accessibilityFeatures"
551        android:icon="@drawable/perm_group_accessibility_features"
552        android:description="@string/permgroupdesc_accessibilityFeatures"
553        android:priority="380" />
554
555    <!-- Allows an accessibility service to request touch exploration mode. -->
556    <permission android:name="android.permission.CAN_REQUEST_TOUCH_EXPLORATION_MODE"
557        android:permissionGroup="android.permission-group.ACCESSIBILITY_FEATURES"
558        android:label="@string/permlab_canRequestTouchExplorationMode"
559        android:description="@string/permdesc_canRequestTouchExplorationMode"
560        android:protectionLevel="dangerous" />
561
562    <!-- Allows an accessibility service to request enhanced web accessibility. -->
563    <permission android:name="android.permission.CAN_REQUEST_ENHANCED_WEB_ACCESSIBILITY"
564        android:permissionGroup="android.permission-group.ACCESSIBILITY_FEATURES"
565        android:label="@string/permlab_canRequestEnahncedWebAccessibility"
566        android:description="@string/permdesc_canRequestEnahncedWebAccessibility"
567        android:protectionLevel="dangerous" />
568
569    <!-- ======================================= -->
570    <!-- Permissions for accessing location info -->
571    <!-- ======================================= -->
572    <eat-comment />
573
574    <!-- Used for permissions that allow access to the user's current
575         location. -->
576    <permission-group android:name="android.permission-group.LOCATION"
577        android:label="@string/permgrouplab_location"
578        android:icon="@drawable/perm_group_location"
579        android:description="@string/permgroupdesc_location"
580        android:permissionGroupFlags="personalInfo"
581        android:priority="330" />
582
583    <!-- Allows an app to access precise location from location sources such
584         as GPS, cell towers, and Wi-Fi. -->
585    <permission android:name="android.permission.ACCESS_FINE_LOCATION"
586        android:permissionGroup="android.permission-group.LOCATION"
587        android:protectionLevel="dangerous"
588        android:label="@string/permlab_accessFineLocation"
589        android:description="@string/permdesc_accessFineLocation" />
590
591    <!-- Allows an app to access approximate location derived from network location
592         sources such as cell towers and Wi-Fi. -->
593    <permission android:name="android.permission.ACCESS_COARSE_LOCATION"
594        android:permissionGroup="android.permission-group.LOCATION"
595        android:protectionLevel="dangerous"
596        android:label="@string/permlab_accessCoarseLocation"
597        android:description="@string/permdesc_accessCoarseLocation" />
598
599    <!-- Allows an application to create mock location providers for testing -->
600    <permission android:name="android.permission.ACCESS_MOCK_LOCATION"
601        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
602        android:protectionLevel="dangerous"
603        android:label="@string/permlab_accessMockLocation"
604        android:description="@string/permdesc_accessMockLocation" />
605
606    <!-- Allows an application to access extra location provider commands -->
607    <permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"
608        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
609        android:protectionLevel="normal"
610        android:label="@string/permlab_accessLocationExtraCommands"
611        android:description="@string/permdesc_accessLocationExtraCommands" />
612
613    <!-- Allows an application to install a location provider into the Location Manager -->
614    <permission android:name="android.permission.INSTALL_LOCATION_PROVIDER"
615        android:protectionLevel="signature|system"
616        android:label="@string/permlab_installLocationProvider"
617        android:description="@string/permdesc_installLocationProvider" />
618
619    <!-- ======================================= -->
620    <!-- Permissions for accessing networks -->
621    <!-- ======================================= -->
622    <eat-comment />
623
624    <!-- Used for permissions that provide access to networking services.  The
625         main permission here is internet access, but this is also an
626         appropriate group for accessing or modifying any network configuration
627         or other related network operations. -->
628    <permission-group android:name="android.permission-group.NETWORK"
629        android:label="@string/permgrouplab_network"
630        android:icon="@drawable/perm_group_network"
631        android:description="@string/permgroupdesc_network"
632        android:priority="270" />
633
634    <!-- Allows applications to open network sockets. -->
635    <permission android:name="android.permission.INTERNET"
636        android:permissionGroup="android.permission-group.NETWORK"
637        android:protectionLevel="dangerous"
638        android:description="@string/permdesc_createNetworkSockets"
639        android:label="@string/permlab_createNetworkSockets" />
640
641    <!-- Allows applications to access information about networks -->
642    <permission android:name="android.permission.ACCESS_NETWORK_STATE"
643        android:permissionGroup="android.permission-group.NETWORK"
644        android:protectionLevel="normal"
645        android:description="@string/permdesc_accessNetworkState"
646        android:label="@string/permlab_accessNetworkState" />
647
648    <!-- Allows applications to access information about Wi-Fi networks -->
649    <permission android:name="android.permission.ACCESS_WIFI_STATE"
650        android:permissionGroup="android.permission-group.NETWORK"
651        android:protectionLevel="normal"
652        android:description="@string/permdesc_accessWifiState"
653        android:label="@string/permlab_accessWifiState" />
654
655    <!-- Allows applications to change Wi-Fi connectivity state -->
656    <permission android:name="android.permission.CHANGE_WIFI_STATE"
657        android:permissionGroup="android.permission-group.NETWORK"
658        android:protectionLevel="dangerous"
659        android:description="@string/permdesc_changeWifiState"
660        android:label="@string/permlab_changeWifiState" />
661
662    <!-- @hide -->
663    <permission android:name="android.permission.ACCESS_WIMAX_STATE"
664        android:permissionGroup="android.permission-group.NETWORK"
665        android:protectionLevel="normal"
666        android:description="@string/permdesc_accessWimaxState"
667        android:label="@string/permlab_accessWimaxState" />
668
669    <!-- @hide -->
670    <permission android:name="android.permission.CHANGE_WIMAX_STATE"
671        android:permissionGroup="android.permission-group.NETWORK"
672        android:protectionLevel="dangerous"
673        android:description="@string/permdesc_changeWimaxState"
674        android:label="@string/permlab_changeWimaxState" />
675
676    <!-- ======================================= -->
677    <!-- Permissions for short range, peripheral networks -->
678    <!-- ======================================= -->
679    <eat-comment />
680
681    <!-- Used for permissions that provide access to other devices through Bluetooth.-->
682    <permission-group android:name="android.permission-group.BLUETOOTH_NETWORK"
683        android:label="@string/permgrouplab_bluetoothNetwork"
684        android:icon="@drawable/perm_group_bluetooth"
685        android:description="@string/permgroupdesc_bluetoothNetwork"
686        android:priority="260" />
687
688    <!-- Allows applications to connect to paired bluetooth devices -->
689    <permission android:name="android.permission.BLUETOOTH"
690        android:permissionGroup="android.permission-group.BLUETOOTH_NETWORK"
691        android:protectionLevel="dangerous"
692        android:description="@string/permdesc_bluetooth"
693        android:label="@string/permlab_bluetooth" />
694
695    <!-- Allows applications to discover and pair bluetooth devices -->
696    <permission android:name="android.permission.BLUETOOTH_ADMIN"
697        android:permissionGroup="android.permission-group.BLUETOOTH_NETWORK"
698        android:protectionLevel="dangerous"
699        android:description="@string/permdesc_bluetoothAdmin"
700        android:label="@string/permlab_bluetoothAdmin" />
701
702    <!-- Allows bluetooth stack to access files
703         @hide This should only be used by Bluetooth apk.
704    -->
705    <permission android:name="android.permission.BLUETOOTH_STACK"
706        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
707        android:protectionLevel="signature" />
708
709    <!-- Allows applications to perform I/O operations over NFC -->
710    <permission android:name="android.permission.NFC"
711        android:permissionGroup="android.permission-group.NETWORK"
712        android:protectionLevel="dangerous"
713        android:description="@string/permdesc_nfc"
714        android:label="@string/permlab_nfc" />
715
716    <!-- Allows an internal user to use privileged ConnectivityManager APIs.
717        @hide -->
718    <permission android:name="android.permission.CONNECTIVITY_INTERNAL"
719        android:permissionGroup="android.permission-group.NETWORK"
720        android:protectionLevel="signature|system" />
721
722    <!-- @hide -->
723    <permission android:name="android.permission.RECEIVE_DATA_ACTIVITY_CHANGE"
724        android:permissionGroup="android.permission-group.NETWORK"
725        android:protectionLevel="signature|system" />
726
727    <!-- Allows access to the loop radio (Android@Home mesh network) device.
728	@hide -->
729    <permission android:name="android.permission.LOOP_RADIO"
730	android:permissionGroup="android.permission-group.NETWORK"
731	android:protectionLevel="signature|system" />
732
733    <!-- ================================== -->
734    <!-- Permissions for accessing accounts -->
735    <!-- ================================== -->
736    <eat-comment />
737
738    <!-- Permissions for direct access to the accounts managed
739         by the Account Manager. -->
740    <permission-group android:name="android.permission-group.ACCOUNTS"
741        android:label="@string/permgrouplab_accounts"
742        android:icon="@drawable/perm_group_accounts"
743        android:description="@string/permgroupdesc_accounts"
744        android:permissionGroupFlags="personalInfo"
745        android:priority="200" />
746
747    <!-- Allows access to the list of accounts in the Accounts Service -->
748    <permission android:name="android.permission.GET_ACCOUNTS"
749        android:permissionGroup="android.permission-group.ACCOUNTS"
750        android:protectionLevel="normal"
751        android:description="@string/permdesc_getAccounts"
752        android:label="@string/permlab_getAccounts" />
753
754    <!-- Allows an application to act as an AccountAuthenticator for
755         the AccountManager -->
756    <permission android:name="android.permission.AUTHENTICATE_ACCOUNTS"
757        android:permissionGroup="android.permission-group.ACCOUNTS"
758        android:protectionLevel="dangerous"
759        android:label="@string/permlab_authenticateAccounts"
760        android:description="@string/permdesc_authenticateAccounts" />
761
762    <!-- Allows an application to request authtokens from the AccountManager -->
763    <permission android:name="android.permission.USE_CREDENTIALS"
764        android:permissionGroup="android.permission-group.ACCOUNTS"
765        android:protectionLevel="dangerous"
766        android:label="@string/permlab_useCredentials"
767        android:description="@string/permdesc_useCredentials" />
768
769    <!-- Allows an application to manage the list of accounts in the AccountManager -->
770    <permission android:name="android.permission.MANAGE_ACCOUNTS"
771        android:permissionGroup="android.permission-group.ACCOUNTS"
772        android:protectionLevel="dangerous"
773        android:label="@string/permlab_manageAccounts"
774        android:description="@string/permdesc_manageAccounts" />
775
776    <!-- Allows applications to call into AccountAuthenticators. Only
777         the system can get this permission. -->
778    <permission android:name="android.permission.ACCOUNT_MANAGER"
779        android:permissionGroup="android.permission-group.ACCOUNTS"
780        android:protectionLevel="signature"
781        android:description="@string/permdesc_accountManagerService"
782        android:label="@string/permlab_accountManagerService" />
783
784    <!-- ================================== -->
785    <!-- Permissions for accessing hardware that may effect battery life-->
786    <!-- ================================== -->
787    <eat-comment />
788
789    <!-- Used for permissions that provide direct access to the hardware on
790         the device that has an effect on battery life.  This includes vibrator,
791         flashlight,  etc. -->
792
793    <permission-group android:name="android.permission-group.AFFECTS_BATTERY"
794        android:label="@string/permgrouplab_affectsBattery"
795        android:icon="@drawable/perm_group_affects_battery"
796        android:description="@string/permgroupdesc_affectsBattery"
797        android:priority="180" />
798
799    <!-- Allows applications to enter Wi-Fi Multicast mode -->
800    <permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE"
801        android:permissionGroup="android.permission-group.AFFECTS_BATTERY"
802        android:protectionLevel="dangerous"
803        android:description="@string/permdesc_changeWifiMulticastState"
804        android:label="@string/permlab_changeWifiMulticastState" />
805
806    <!-- Allows access to the vibrator -->
807    <permission android:name="android.permission.VIBRATE"
808        android:permissionGroup="android.permission-group.AFFECTS_BATTERY"
809        android:protectionLevel="normal"
810        android:label="@string/permlab_vibrate"
811        android:description="@string/permdesc_vibrate" />
812
813    <!-- Allows access to the flashlight -->
814    <permission android:name="android.permission.FLASHLIGHT"
815        android:permissionGroup="android.permission-group.AFFECTS_BATTERY"
816        android:protectionLevel="normal"
817        android:label="@string/permlab_flashlight"
818        android:description="@string/permdesc_flashlight" />
819
820    <!-- Allows using PowerManager WakeLocks to keep processor from sleeping or screen
821         from dimming -->
822    <permission android:name="android.permission.WAKE_LOCK"
823        android:permissionGroup="android.permission-group.AFFECTS_BATTERY"
824        android:protectionLevel="normal"
825        android:label="@string/permlab_wakeLock"
826        android:description="@string/permdesc_wakeLock" />
827
828    <!-- ==================================================== -->
829    <!-- Permissions related to changing audio settings   -->
830    <!-- ==================================================== -->
831
832    <!-- Used for permissions that provide direct access to speaker settings
833         the device. -->
834    <permission-group android:name="android.permission-group.AUDIO_SETTINGS"
835        android:label="@string/permgrouplab_audioSettings"
836        android:icon="@drawable/perm_group_audio_settings"
837        android:description="@string/permgroupdesc_audioSettings"
838        android:priority="130" />
839
840    <!-- Allows an application to modify global audio settings -->
841    <permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"
842        android:permissionGroup="android.permission-group.AUDIO_SETTINGS"
843        android:protectionLevel="normal"
844        android:label="@string/permlab_modifyAudioSettings"
845        android:description="@string/permdesc_modifyAudioSettings" />
846
847    <!-- ================================== -->
848    <!-- Permissions for accessing hardware -->
849    <!-- ================================== -->
850    <eat-comment />
851
852    <!-- Used for permissions that provide direct access to the hardware on
853         the device.  This includes audio, the camera, vibrator, etc. -->
854    <permission-group android:name="android.permission-group.HARDWARE_CONTROLS"
855        android:label="@string/permgrouplab_hardwareControls"
856        android:description="@string/permgroupdesc_hardwareControls"
857        android:priority="260"/>
858
859    <!-- Allows an application to manage preferences and permissions for USB devices
860         @hide -->
861    <permission android:name="android.permission.MANAGE_USB"
862        android:permissionGroup="android.permission-group.HARDWARE_CONTROLS"
863        android:protectionLevel="signature|system"
864        android:label="@string/permlab_manageUsb"
865        android:description="@string/permdesc_manageUsb" />
866
867    <!-- Allows an application to access the MTP USB kernel driver.
868         For use only by the device side MTP implementation.
869         @hide -->
870    <permission android:name="android.permission.ACCESS_MTP"
871        android:permissionGroup="android.permission-group.HARDWARE_CONTROLS"
872        android:protectionLevel="signature|system"
873        android:label="@string/permlab_accessMtp"
874        android:description="@string/permdesc_accessMtp" />
875
876    <!-- Allows access to hardware peripherals.  Intended only for hardware testing -->
877    <permission android:name="android.permission.HARDWARE_TEST"
878        android:permissionGroup="android.permission-group.HARDWARE_CONTROLS"
879        android:protectionLevel="signature"
880        android:label="@string/permlab_hardware_test"
881        android:description="@string/permdesc_hardware_test" />
882
883    <!-- Allows access to configure network interfaces, configure/use IPSec, etc.
884         @hide -->
885    <permission android:name="android.permission.NET_ADMIN"
886        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
887        android:protectionLevel="signature" />
888
889    <!-- Allows registration for remote audio playback. @hide -->
890    <permission android:name="android.permission.REMOTE_AUDIO_PLAYBACK"
891        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
892        android:protectionLevel="signature" />
893
894    <!-- =========================================== -->
895    <!-- Permissions associated with audio capture -->
896    <!-- =========================================== -->
897    <eat-comment />
898
899    <!-- Used for permissions that are associated with accessing
900         microphone audio from the device. Note that phone calls also capture audio
901         but are in a separate (more visible) permission group. -->
902    <permission-group android:name="android.permission-group.MICROPHONE"
903        android:label="@string/permgrouplab_microphone"
904        android:icon="@drawable/perm_group_microphone"
905        android:description="@string/permgroupdesc_microphone"
906        android:permissionGroupFlags="personalInfo"
907        android:priority="340" />
908
909    <!-- Allows an application to record audio -->
910    <permission android:name="android.permission.RECORD_AUDIO"
911        android:permissionGroup="android.permission-group.MICROPHONE"
912        android:protectionLevel="dangerous"
913        android:label="@string/permlab_recordAudio" />
914
915
916    <!-- =========================================== -->
917    <!-- Permissions associated with camera and image capture -->
918    <!-- =========================================== -->
919    <eat-comment />
920
921    <!-- Used for permissions that are associated with accessing
922         camera or capturing images/video from the device. -->
923    <permission-group android:name="android.permission-group.CAMERA"
924        android:label="@string/permgrouplab_camera"
925        android:icon="@drawable/perm_group_camera"
926        android:description="@string/permgroupdesc_camera"
927        android:permissionGroupFlags="personalInfo"
928        android:priority="350" />
929
930    <!-- Required to be able to access the camera device.
931         <p>This will automatically enforce the <a
932         href="{@docRoot}guide/topics/manifest/uses-feature-element.html">{@code
933         &lt;uses-feature&gt;}</a> manifest element for <em>all</em> camera features.
934         If you do not require all camera features or can properly operate if a camera
935         is not available, then you must modify your manifest as appropriate in order to
936         install on devices that don't support all camera features.</p> -->
937    <permission android:name="android.permission.CAMERA"
938        android:permissionGroup="android.permission-group.CAMERA"
939        android:protectionLevel="dangerous"
940        android:label="@string/permlab_camera"
941        android:description="@string/permdesc_camera" />
942
943    <!-- =========================================== -->
944    <!-- Permissions associated with telephony state -->
945    <!-- =========================================== -->
946    <eat-comment />
947
948    <!-- Used for permissions that are associated with accessing and modifyign
949         telephony state: placing calls, intercepting outgoing calls, reading
950         and modifying the phone state. -->
951    <permission-group android:name="android.permission-group.PHONE_CALLS"
952        android:label="@string/permgrouplab_phoneCalls"
953        android:icon="@drawable/perm_group_phone_calls"
954        android:description="@string/permgroupdesc_phoneCalls"
955        android:permissionGroupFlags="personalInfo"
956        android:priority="370" />
957
958    <!-- Allows an application to monitor, modify, or abort outgoing
959         calls. -->
960    <permission android:name="android.permission.PROCESS_OUTGOING_CALLS"
961        android:permissionGroup="android.permission-group.PHONE_CALLS"
962        android:protectionLevel="dangerous"
963        android:label="@string/permlab_processOutgoingCalls"
964        android:description="@string/permdesc_processOutgoingCalls" />
965
966    <!-- Allows modification of the telephony state - power on, mmi, etc.
967         Does not include placing calls. -->
968    <permission android:name="android.permission.MODIFY_PHONE_STATE"
969        android:permissionGroup="android.permission-group.PHONE_CALLS"
970        android:protectionLevel="signature|system"
971        android:label="@string/permlab_modifyPhoneState"
972        android:description="@string/permdesc_modifyPhoneState" />
973
974    <!-- Allows read only access to phone state.
975         <p class="note"><strong>Note:</strong> If <em>both</em> your <a
976         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#min">{@code
977         minSdkVersion}</a> and <a
978         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
979         targetSdkVersion}</a> values are set to 3 or lower, the system implicitly
980         grants your app this permission. If you don't need this permission, be sure your <a
981         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
982         targetSdkVersion}</a> is 4 or higher. -->
983    <permission android:name="android.permission.READ_PHONE_STATE"
984        android:permissionGroup="android.permission-group.PHONE_CALLS"
985        android:protectionLevel="dangerous"
986        android:label="@string/permlab_readPhoneState"
987        android:description="@string/permdesc_readPhoneState" />
988
989    <!-- Allows read access to privileged phone state.
990         @hide Used internally. -->
991    <permission android:name="android.permission.READ_PRIVILEGED_PHONE_STATE"
992        android:permissionGroup="android.permission-group.PHONE_CALLS"
993        android:protectionLevel="signature|system" />
994
995     <!-- Allows an application to initiate a phone call without going through
996         the Dialer user interface for the user to confirm the call
997         being placed. -->
998    <permission android:name="android.permission.CALL_PHONE"
999        android:permissionGroup="android.permission-group.PHONE_CALLS"
1000        android:protectionLevel="dangerous"
1001        android:permissionFlags="costsMoney"
1002        android:label="@string/permlab_callPhone"
1003        android:description="@string/permdesc_callPhone" />
1004
1005    <!-- Allows an application to use SIP service -->
1006    <permission android:name="android.permission.USE_SIP"
1007        android:permissionGroup="android.permission-group.PHONE_CALLS"
1008        android:protectionLevel="dangerous"
1009        android:description="@string/permdesc_use_sip"
1010        android:label="@string/permlab_use_sip" />
1011
1012    <!-- ================================== -->
1013    <!-- Permissions for sdcard interaction -->
1014    <!-- ================================== -->
1015    <eat-comment />
1016
1017    <!-- Group of permissions that are related to SD card access. -->
1018    <permission-group android:name="android.permission-group.STORAGE"
1019        android:label="@string/permgrouplab_storage"
1020        android:icon="@drawable/perm_group_storage"
1021        android:description="@string/permgroupdesc_storage"
1022        android:permissionGroupFlags="personalInfo"
1023        android:priority="240" />
1024
1025    <!-- Allows an application to read from external storage.
1026         <p>Any app that declares the {@link #WRITE_EXTERNAL_STORAGE} permission is implicitly
1027         granted this permission.</p>
1028         <p>Currently, this permission is not enforced and all apps still have access to read from
1029         external storage without this permission. That will change in a future release and apps
1030         will require this permission to read from external storage. So if your
1031         app reads from the external storage, you should add this permission to your app now
1032         to ensure that it continues to work on future versions of Android.</p>
1033         <p>You can test your app with the permission enforced by either running your app on the
1034         Android Emulator when running Android 4.1 or higher, or enabling <em>Protect USB
1035         storage</em> under Developer options in the Settings app on a device running Android 4.1 or
1036         higher.</p>
1037         <p class="note"><strong>Note:</strong> If <em>both</em> your <a
1038         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#min">{@code
1039         minSdkVersion}</a> and <a
1040         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
1041         targetSdkVersion}</a> values are set to 3 or lower, the system implicitly
1042         grants your app this permission. If you don't need this permission, be sure your <a
1043         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
1044         targetSdkVersion}</a> is 4 or higher.-->
1045    <permission android:name="android.permission.READ_EXTERNAL_STORAGE"
1046        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1047        android:label="@string/permlab_sdcardRead"
1048        android:description="@string/permdesc_sdcardRead"
1049        android:protectionLevel="normal" />
1050
1051    <!-- Allows an application to write to external storage.
1052         <p class="note"><strong>Note:</strong> If <em>both</em> your <a
1053         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#min">{@code
1054         minSdkVersion}</a> and <a
1055         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
1056         targetSdkVersion}</a> values are set to 3 or lower, the system implicitly
1057         grants your app this permission. If you don't need this permission, be sure your <a
1058         href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
1059         targetSdkVersion}</a> is 4 or higher. -->
1060    <permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
1061        android:permissionGroup="android.permission-group.STORAGE"
1062        android:label="@string/permlab_sdcardWrite"
1063        android:description="@string/permdesc_sdcardWrite"
1064        android:protectionLevel="dangerous" />
1065
1066    <!-- Allows an application to write to internal media storage
1067         @hide  -->
1068    <permission android:name="android.permission.WRITE_MEDIA_STORAGE"
1069        android:permissionGroup="android.permission-group.STORAGE"
1070        android:label="@string/permlab_mediaStorageWrite"
1071        android:description="@string/permdesc_mediaStorageWrite"
1072        android:protectionLevel="signature|system" />
1073
1074    <!-- ================================== -->
1075    <!-- Permissions for screenlock         -->
1076    <!-- ================================== -->
1077    <eat-comment />
1078
1079    <!-- Group of permissions that are related to the screenlock. -->
1080    <permission-group android:name="android.permission-group.SCREENLOCK"
1081        android:label="@string/permgrouplab_screenlock"
1082        android:icon="@drawable/perm_group_screenlock"
1083        android:permissionGroupFlags="personalInfo"
1084        android:description="@string/permgroupdesc_screenlock"
1085        android:priority="230" />
1086
1087    <!-- Allows applications to disable the keyguard -->
1088    <permission android:name="android.permission.DISABLE_KEYGUARD"
1089        android:permissionGroup="android.permission-group.SCREENLOCK"
1090        android:protectionLevel="dangerous"
1091        android:description="@string/permdesc_disableKeyguard"
1092        android:label="@string/permlab_disableKeyguard" />
1093
1094    <!-- ================================== -->
1095    <!-- Permissions to access other installed applications  -->
1096    <!-- ================================== -->
1097    <eat-comment />
1098
1099    <!-- Group of permissions that are related to the other applications
1100         installed on the system.  Examples include such as listing
1101         running apps, or killing background processes. -->
1102    <permission-group android:name="android.permission-group.APP_INFO"
1103        android:label="@string/permgrouplab_appInfo"
1104        android:icon="@drawable/perm_group_app_info"
1105        android:description="@string/permgroupdesc_appInfo"
1106        android:priority="220" />
1107
1108    <!-- Allows an application to get information about the currently
1109         or recently running tasks. -->
1110    <permission android:name="android.permission.GET_TASKS"
1111        android:permissionGroup="android.permission-group.APP_INFO"
1112        android:protectionLevel="dangerous"
1113        android:label="@string/permlab_getTasks"
1114        android:description="@string/permdesc_getTasks" />
1115    <!-- @hide Allows an application to call APIs that allow it to do interactions
1116         across the users on the device, using singleton services and
1117         user-targeted broadcasts.  This permission is not available to
1118         third party applications. -->
1119    <permission android:name="android.permission.INTERACT_ACROSS_USERS"
1120        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1121        android:protectionLevel="signature|system|development"
1122        android:label="@string/permlab_interactAcrossUsers"
1123        android:description="@string/permdesc_interactAcrossUsers" />
1124
1125    <!-- @hide Fuller form of {@link android.Manifest.permission#INTERACT_ACROSS_USERS}
1126         that removes restrictions on where broadcasts can be sent and allows other
1127         types of interactions. -->
1128    <permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL"
1129        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1130        android:protectionLevel="signature"
1131        android:label="@string/permlab_interactAcrossUsersFull"
1132        android:description="@string/permdesc_interactAcrossUsersFull" />
1133
1134    <!-- @hide Allows an application to call APIs that allow it to query and manage
1135         users on the device. This permission is not available to
1136         third party applications. -->
1137    <permission android:name="android.permission.MANAGE_USERS"
1138        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1139        android:protectionLevel="signature|system"
1140        android:label="@string/permlab_manageUsers"
1141        android:description="@string/permdesc_manageUsers" />
1142
1143    <!-- Allows an application to get full detailed information about
1144         recently running tasks, with full fidelity to the real state.
1145         @hide -->
1146    <permission android:name="android.permission.GET_DETAILED_TASKS"
1147        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1148        android:protectionLevel="signature"
1149        android:label="@string/permlab_getDetailedTasks"
1150        android:description="@string/permdesc_getDetailedTasks" />
1151
1152    <!-- Allows an application to change the Z-order of tasks -->
1153    <permission android:name="android.permission.REORDER_TASKS"
1154        android:permissionGroup="android.permission-group.APP_INFO"
1155        android:protectionLevel="normal"
1156        android:label="@string/permlab_reorderTasks"
1157        android:description="@string/permdesc_reorderTasks" />
1158
1159    <!-- @hide Allows an application to change to remove/kill tasks -->
1160    <permission android:name="android.permission.REMOVE_TASKS"
1161        android:permissionGroup="android.permission-group.APP_INFO"
1162        android:protectionLevel="signature"
1163        android:label="@string/permlab_removeTasks"
1164        android:description="@string/permdesc_removeTasks" />
1165
1166    <!-- Allows an application to start any activity, regardless of permission
1167         protection or exported state. @hide -->
1168    <permission android:name="android.permission.START_ANY_ACTIVITY"
1169        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1170        android:protectionLevel="signature"
1171        android:label="@string/permlab_startAnyActivity"
1172        android:description="@string/permdesc_startAnyActivity" />
1173
1174    <!-- @deprecated The {@link android.app.ActivityManager#restartPackage}
1175        API is no longer supported. -->
1176    <permission android:name="android.permission.RESTART_PACKAGES"
1177        android:permissionGroup="android.permission-group.APP_INFO"
1178        android:protectionLevel="normal"
1179        android:label="@string/permlab_killBackgroundProcesses"
1180        android:description="@string/permdesc_killBackgroundProcesses" />
1181
1182    <!-- Allows an application to call
1183        {@link android.app.ActivityManager#killBackgroundProcesses}. -->
1184    <permission android:name="android.permission.KILL_BACKGROUND_PROCESSES"
1185        android:permissionGroup="android.permission-group.APP_INFO"
1186        android:protectionLevel="normal"
1187        android:label="@string/permlab_killBackgroundProcesses"
1188        android:description="@string/permdesc_killBackgroundProcesses" />
1189
1190    <!-- ================================== -->
1191    <!-- Permissions affecting the display of other applications  -->
1192    <!-- ================================== -->
1193    <eat-comment />
1194
1195    <!-- Group of permissions that allow manipulation of how
1196         another application displays UI to the user. -->
1197    <permission-group android:name="android.permission-group.DISPLAY"
1198        android:label="@string/permgrouplab_display"
1199        android:icon="@drawable/perm_group_display"
1200        android:description="@string/permgroupdesc_display"
1201        android:priority="190"/>
1202
1203    <!-- Allows an application to open windows using the type
1204         {@link android.view.WindowManager.LayoutParams#TYPE_SYSTEM_ALERT},
1205         shown on top of all other applications.  Very few applications
1206         should use this permission; these windows are intended for
1207         system-level interaction with the user. -->
1208    <permission android:name="android.permission.SYSTEM_ALERT_WINDOW"
1209        android:permissionGroup="android.permission-group.DISPLAY"
1210        android:protectionLevel="dangerous"
1211        android:label="@string/permlab_systemAlertWindow"
1212        android:description="@string/permdesc_systemAlertWindow" />
1213
1214    <!-- ================================== -->
1215    <!-- Permissions affecting the system wallpaper -->
1216    <!-- ================================== -->
1217    <eat-comment />
1218
1219    <!-- Group of permissions that allow manipulation of how
1220         another application displays UI to the user. -->
1221    <permission-group android:name="android.permission-group.WALLPAPER"
1222        android:label="@string/permgrouplab_wallpaper"
1223        android:icon="@drawable/perm_group_wallpaper"
1224        android:description="@string/permgroupdesc_wallpaper"
1225        android:priority="150" />
1226
1227    <!-- Allows applications to set the wallpaper -->
1228    <permission android:name="android.permission.SET_WALLPAPER"
1229        android:permissionGroup="android.permission-group.WALLPAPER"
1230        android:protectionLevel="normal"
1231        android:label="@string/permlab_setWallpaper"
1232        android:description="@string/permdesc_setWallpaper" />
1233
1234    <!-- Allows applications to set the wallpaper hints -->
1235    <permission android:name="android.permission.SET_WALLPAPER_HINTS"
1236        android:permissionGroup="android.permission-group.WALLPAPER"
1237        android:protectionLevel="normal"
1238        android:label="@string/permlab_setWallpaperHints"
1239        android:description="@string/permdesc_setWallpaperHints" />
1240
1241    <!-- ============================================ -->
1242    <!-- Permissions for changing the system clock -->
1243    <!-- ============================================ -->
1244    <eat-comment />
1245
1246    <!-- Group of permissions that are related to system clock. -->
1247    <permission-group android:name="android.permission-group.SYSTEM_CLOCK"
1248        android:label="@string/permgrouplab_systemClock"
1249        android:icon="@drawable/perm_group_system_clock"
1250        android:description="@string/permgroupdesc_systemClock"
1251        android:priority="140" />
1252
1253    <!-- Allows applications to set the system time -->
1254    <permission android:name="android.permission.SET_TIME"
1255        android:protectionLevel="signature|system"
1256        android:label="@string/permlab_setTime"
1257        android:description="@string/permdesc_setTime" />
1258
1259    <!-- Allows applications to set the system time zone -->
1260    <permission android:name="android.permission.SET_TIME_ZONE"
1261        android:permissionGroup="android.permission-group.SYSTEM_CLOCK"
1262        android:protectionLevel="normal"
1263        android:label="@string/permlab_setTimeZone"
1264        android:description="@string/permdesc_setTimeZone" />
1265
1266    <!-- ==================================================== -->
1267    <!-- Permissions related to changing status bar   -->
1268    <!-- ==================================================== -->
1269
1270    <!-- Used for permissions that change the status bar -->
1271    <permission-group android:name="android.permission-group.STATUS_BAR"
1272        android:label="@string/permgrouplab_statusBar"
1273        android:icon="@drawable/perm_group_status_bar"
1274        android:description="@string/permgroupdesc_statusBar"
1275        android:priority="110" />
1276
1277    <!-- Allows an application to expand or collapse the status bar. -->
1278    <permission android:name="android.permission.EXPAND_STATUS_BAR"
1279        android:permissionGroup="android.permission-group.STATUS_BAR"
1280        android:protectionLevel="normal"
1281        android:label="@string/permlab_expandStatusBar"
1282        android:description="@string/permdesc_expandStatusBar" />
1283
1284    <!-- ==================================================== -->
1285    <!-- Permissions related to accessing sync settings   -->
1286    <!-- ==================================================== -->
1287
1288    <!-- Used for permissions that access the sync settings or sync
1289         related information. -->
1290    <permission-group android:name="android.permission-group.SYNC_SETTINGS"
1291        android:label="@string/permgrouplab_syncSettings"
1292        android:icon="@drawable/perm_group_sync_settings"
1293        android:description="@string/permgroupdesc_syncSettings"
1294        android:priority="120" />
1295
1296    <!-- Allows applications to read the sync settings -->
1297    <permission android:name="android.permission.READ_SYNC_SETTINGS"
1298        android:permissionGroup="android.permission-group.SYNC_SETTINGS"
1299        android:protectionLevel="normal"
1300        android:description="@string/permdesc_readSyncSettings"
1301        android:label="@string/permlab_readSyncSettings" />
1302
1303    <!-- Allows applications to write the sync settings -->
1304    <permission android:name="android.permission.WRITE_SYNC_SETTINGS"
1305        android:permissionGroup="android.permission-group.SYNC_SETTINGS"
1306        android:protectionLevel="normal"
1307        android:description="@string/permdesc_writeSyncSettings"
1308        android:label="@string/permlab_writeSyncSettings" />
1309
1310    <!-- Allows applications to read the sync stats -->
1311    <permission android:name="android.permission.READ_SYNC_STATS"
1312        android:permissionGroup="android.permission-group.SYNC_SETTINGS"
1313        android:protectionLevel="normal"
1314        android:description="@string/permdesc_readSyncStats"
1315        android:label="@string/permlab_readSyncStats" />
1316
1317
1318    <!-- ============================================ -->
1319    <!-- Permissions for low-level system interaction -->
1320    <!-- ============================================ -->
1321    <eat-comment />
1322
1323    <!-- Group of permissions that are related to system APIs.  Many
1324         of these are not permissions the user will be expected to understand,
1325         and such permissions should generally be marked as "normal" protection
1326         level so they don't get displayed.  This can also, however, be used
1327         for miscellaneous features that provide access to the operating system,
1328         such as writing the global system settings. -->
1329    <permission-group android:name="android.permission-group.SYSTEM_TOOLS"
1330        android:label="@string/permgrouplab_systemTools"
1331        android:icon="@drawable/perm_group_system_tools"
1332        android:description="@string/permgroupdesc_systemTools"
1333        android:priority="100" />
1334
1335    <!-- @hide Change the screen compatibility mode of applications -->
1336    <permission android:name="android.permission.SET_SCREEN_COMPATIBILITY"
1337        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1338        android:protectionLevel="signature"
1339        android:label="@string/permlab_setScreenCompatibility"
1340        android:description="@string/permdesc_setScreenCompatibility" />
1341
1342    <!-- Allows an application to access all multi-user external storage @hide -->
1343    <permission android:name="android.permission.ACCESS_ALL_EXTERNAL_STORAGE"
1344        android:permissionGroup="android.permission-group.DEVELOPMENT_TOOLS"
1345        android:label="@string/permlab_sdcardAccessAll"
1346        android:description="@string/permdesc_sdcardAccessAll"
1347        android:protectionLevel="signature" />
1348
1349    <!-- Allows an application to modify the current configuration, such
1350         as locale. -->
1351    <permission android:name="android.permission.CHANGE_CONFIGURATION"
1352        android:permissionGroup="android.permission-group.DEVELOPMENT_TOOLS"
1353        android:protectionLevel="signature|system|development"
1354        android:label="@string/permlab_changeConfiguration"
1355        android:description="@string/permdesc_changeConfiguration" />
1356
1357    <!-- Allows an application to read or write the system settings. -->
1358    <permission android:name="android.permission.WRITE_SETTINGS"
1359        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1360        android:protectionLevel="normal"
1361        android:label="@string/permlab_writeSettings"
1362        android:description="@string/permdesc_writeSettings" />
1363
1364    <!-- Allows an application to modify the Google service map. -->
1365    <permission android:name="android.permission.WRITE_GSERVICES"
1366        android:protectionLevel="signature|system"
1367        android:label="@string/permlab_writeGservices"
1368        android:description="@string/permdesc_writeGservices" />
1369
1370    <!-- Allows an application to call
1371        {@link android.app.ActivityManager#forceStopPackage}.
1372        @hide -->
1373    <permission android:name="android.permission.FORCE_STOP_PACKAGES"
1374        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1375        android:protectionLevel="signature"
1376        android:label="@string/permlab_forceStopPackages"
1377        android:description="@string/permdesc_forceStopPackages" />
1378
1379    <!-- @hide Allows an application to retrieve the content of the active window
1380         An active window is the window that has fired an accessibility event. -->
1381    <permission android:name="android.permission.RETRIEVE_WINDOW_CONTENT"
1382        android:permissionGroup="android.permission-group.PERSONAL_INFO"
1383        android:protectionLevel="signature|system"
1384        android:label="@string/permlab_retrieve_window_content"
1385        android:description="@string/permdesc_retrieve_window_content" />
1386
1387    <!-- Modify the global animation scaling factor. -->
1388    <permission android:name="android.permission.SET_ANIMATION_SCALE"
1389        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1390        android:protectionLevel="signature|system|development"
1391        android:label="@string/permlab_setAnimationScale"
1392        android:description="@string/permdesc_setAnimationScale" />
1393
1394    <!-- @deprecated This functionality will be removed in the future; please do
1395         not use. Allow an application to make its activities persistent. -->
1396    <permission android:name="android.permission.PERSISTENT_ACTIVITY"
1397        android:permissionGroup="android.permission-group.APP_INFO"
1398        android:protectionLevel="normal"
1399        android:label="@string/permlab_persistentActivity"
1400        android:description="@string/permdesc_persistentActivity" />
1401
1402    <!-- Allows an application to find out the space used by any package. -->
1403    <permission android:name="android.permission.GET_PACKAGE_SIZE"
1404        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1405        android:protectionLevel="normal"
1406        android:label="@string/permlab_getPackageSize"
1407        android:description="@string/permdesc_getPackageSize" />
1408
1409    <!-- @deprecated No longer useful, see
1410         {@link android.content.pm.PackageManager#addPackageToPreferred}
1411         for details. -->
1412    <permission android:name="android.permission.SET_PREFERRED_APPLICATIONS"
1413        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1414        android:protectionLevel="signature"
1415        android:label="@string/permlab_setPreferredApplications"
1416        android:description="@string/permdesc_setPreferredApplications" />
1417
1418    <!-- Allows an application to receive the
1419         {@link android.content.Intent#ACTION_BOOT_COMPLETED} that is
1420         broadcast after the system finishes booting.  If you don't
1421         request this permission, you will not receive the broadcast at
1422         that time.  Though holding this permission does not have any
1423         security implications, it can have a negative impact on the
1424         user experience by increasing the amount of time it takes the
1425         system to start and allowing applications to have themselves
1426         running without the user being aware of them.  As such, you must
1427         explicitly declare your use of this facility to make that visible
1428         to the user. -->
1429    <permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"
1430        android:permissionGroup="android.permission-group.APP_INFO"
1431        android:protectionLevel="normal"
1432        android:label="@string/permlab_receiveBootCompleted"
1433        android:description="@string/permdesc_receiveBootCompleted" />
1434
1435    <!-- Allows an application to broadcast sticky intents.  These are
1436         broadcasts whose data is held by the system after being finished,
1437         so that clients can quickly retrieve that data without having
1438         to wait for the next broadcast. -->
1439    <permission android:name="android.permission.BROADCAST_STICKY"
1440        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1441        android:protectionLevel="normal"
1442        android:label="@string/permlab_broadcastSticky"
1443        android:description="@string/permdesc_broadcastSticky" />
1444
1445    <!-- Allows mounting and unmounting file systems for removable storage. -->
1446    <permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"
1447        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1448        android:protectionLevel="system|signature"
1449        android:label="@string/permlab_mount_unmount_filesystems"
1450        android:description="@string/permdesc_mount_unmount_filesystems" />
1451
1452    <!-- Allows formatting file systems for removable storage. -->
1453    <permission android:name="android.permission.MOUNT_FORMAT_FILESYSTEMS"
1454        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1455        android:protectionLevel="system|signature"
1456        android:label="@string/permlab_mount_format_filesystems"
1457        android:description="@string/permdesc_mount_format_filesystems" />
1458
1459    <!-- Allows access to ASEC non-destructive API calls
1460         @hide  -->
1461    <permission android:name="android.permission.ASEC_ACCESS"
1462        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1463        android:protectionLevel="signature"
1464        android:label="@string/permlab_asec_access"
1465        android:description="@string/permdesc_asec_access" />
1466
1467    <!-- Allows creation of ASEC volumes
1468         @hide  -->
1469    <permission android:name="android.permission.ASEC_CREATE"
1470        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1471        android:protectionLevel="signature"
1472        android:label="@string/permlab_asec_create"
1473        android:description="@string/permdesc_asec_create" />
1474
1475    <!-- Allows destruction of ASEC volumes
1476         @hide  -->
1477    <permission android:name="android.permission.ASEC_DESTROY"
1478        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1479        android:protectionLevel="signature"
1480        android:label="@string/permlab_asec_destroy"
1481        android:description="@string/permdesc_asec_destroy" />
1482
1483    <!-- Allows mount / unmount of ASEC volumes
1484         @hide  -->
1485    <permission android:name="android.permission.ASEC_MOUNT_UNMOUNT"
1486        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1487        android:protectionLevel="signature"
1488        android:label="@string/permlab_asec_mount_unmount"
1489        android:description="@string/permdesc_asec_mount_unmount" />
1490
1491    <!-- Allows rename of ASEC volumes
1492         @hide  -->
1493    <permission android:name="android.permission.ASEC_RENAME"
1494        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1495        android:protectionLevel="signature"
1496        android:label="@string/permlab_asec_rename"
1497        android:description="@string/permdesc_asec_rename" />
1498
1499    <!-- Allows applications to write the apn settings -->
1500    <permission android:name="android.permission.WRITE_APN_SETTINGS"
1501                android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1502                android:protectionLevel="signature|system"
1503                android:description="@string/permdesc_writeApnSettings"
1504                android:label="@string/permlab_writeApnSettings" />
1505
1506    <!-- Allows an application to allow access the subscribed feeds
1507         ContentProvider. -->
1508    <permission android:name="android.permission.SUBSCRIBED_FEEDS_READ"
1509        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1510        android:label="@string/permlab_subscribedFeedsRead"
1511        android:description="@string/permdesc_subscribedFeedsRead"
1512        android:protectionLevel="normal" />
1513    <permission android:name="android.permission.SUBSCRIBED_FEEDS_WRITE"
1514        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1515        android:label="@string/permlab_subscribedFeedsWrite"
1516        android:description="@string/permdesc_subscribedFeedsWrite"
1517        android:protectionLevel="dangerous" />
1518
1519    <!-- Allows applications to change network connectivity state -->
1520    <permission android:name="android.permission.CHANGE_NETWORK_STATE"
1521        android:permissionGroup="android.permission-group.NETWORK"
1522        android:protectionLevel="normal"
1523        android:description="@string/permdesc_changeNetworkState"
1524        android:label="@string/permlab_changeNetworkState" />
1525
1526    <!-- Allows an application to clear the caches of all installed
1527         applications on the device.  -->
1528    <permission android:name="android.permission.CLEAR_APP_CACHE"
1529        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1530        android:protectionLevel="dangerous"
1531        android:label="@string/permlab_clearAppCache"
1532        android:description="@string/permdesc_clearAppCache" />
1533
1534    <!-- Allows an application to use any media decoder when decoding for playback
1535         @hide -->
1536    <permission android:name="android.permission.ALLOW_ANY_CODEC_FOR_PLAYBACK"
1537        android:protectionLevel="signature|system"
1538        android:label="@string/permlab_anyCodecForPlayback"
1539        android:description="@string/permdesc_anyCodecForPlayback" />
1540
1541    <!-- ========================================= -->
1542    <!-- Permissions for special development tools -->
1543    <!-- ========================================= -->
1544    <eat-comment />
1545
1546    <!-- Group of permissions that are related to development features.  These
1547         are not permissions that should appear in normal applications; they
1548         protect APIs that are intended only to be used for development
1549         purposes. -->
1550    <permission-group android:name="android.permission-group.DEVELOPMENT_TOOLS"
1551        android:label="@string/permgrouplab_developmentTools"
1552        android:description="@string/permgroupdesc_developmentTools"
1553        android:priority="310" />
1554
1555    <!-- Allows an application to read or write the secure system settings. -->
1556    <permission android:name="android.permission.WRITE_SECURE_SETTINGS"
1557        android:permissionGroup="android.permission-group.DEVELOPMENT_TOOLS"
1558        android:protectionLevel="signature|system|development"
1559        android:label="@string/permlab_writeSecureSettings"
1560        android:description="@string/permdesc_writeSecureSettings" />
1561
1562    <!-- Allows an application to retrieve state dump information from system
1563         services. -->
1564    <permission android:name="android.permission.DUMP"
1565        android:permissionGroup="android.permission-group.DEVELOPMENT_TOOLS"
1566        android:protectionLevel="signature|system|development"
1567        android:label="@string/permlab_dump"
1568        android:description="@string/permdesc_dump" />
1569
1570    <!-- Allows an application to read the low-level system log files.
1571         Log entries can contain the user's private information,
1572         which is why this permission is not available to normal apps. -->
1573    <permission android:name="android.permission.READ_LOGS"
1574        android:permissionGroup="android.permission-group.DEVELOPMENT_TOOLS"
1575        android:protectionLevel="signature|system|development"
1576        android:label="@string/permlab_readLogs"
1577        android:description="@string/permdesc_readLogs" />
1578
1579    <!-- Configure an application for debugging. -->
1580    <permission android:name="android.permission.SET_DEBUG_APP"
1581        android:permissionGroup="android.permission-group.DEVELOPMENT_TOOLS"
1582        android:protectionLevel="signature|system|development"
1583        android:label="@string/permlab_setDebugApp"
1584        android:description="@string/permdesc_setDebugApp" />
1585
1586    <!-- Allows an application to set the maximum number of (not needed)
1587         application processes that can be running. -->
1588    <permission android:name="android.permission.SET_PROCESS_LIMIT"
1589        android:permissionGroup="android.permission-group.DEVELOPMENT_TOOLS"
1590        android:protectionLevel="signature|system|development"
1591        android:label="@string/permlab_setProcessLimit"
1592        android:description="@string/permdesc_setProcessLimit" />
1593
1594    <!-- Allows an application to control whether activities are immediately
1595         finished when put in the background. -->
1596    <permission android:name="android.permission.SET_ALWAYS_FINISH"
1597        android:permissionGroup="android.permission-group.DEVELOPMENT_TOOLS"
1598        android:protectionLevel="signature|system|development"
1599        android:label="@string/permlab_setAlwaysFinish"
1600        android:description="@string/permdesc_setAlwaysFinish" />
1601
1602    <!-- Allow an application to request that a signal be sent to all persistent processes -->
1603    <permission android:name="android.permission.SIGNAL_PERSISTENT_PROCESSES"
1604        android:permissionGroup="android.permission-group.DEVELOPMENT_TOOLS"
1605        android:protectionLevel="signature|system|development"
1606        android:label="@string/permlab_signalPersistentProcesses"
1607        android:description="@string/permdesc_signalPersistentProcesses" />
1608
1609    <!-- ==================================== -->
1610    <!-- Private (signature-only) permissions -->
1611    <!-- ==================================== -->
1612    <eat-comment />
1613
1614    <!-- Allows applications to RW to diagnostic resources. -->
1615    <permission android:name="android.permission.DIAGNOSTIC"
1616        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1617        android:protectionLevel="signature"
1618        android:description="@string/permdesc_diagnostic"
1619        android:label="@string/permlab_diagnostic" />
1620
1621    <!-- Allows an application to open, close, or disable the status bar
1622         and its icons. -->
1623    <permission android:name="android.permission.STATUS_BAR"
1624        android:label="@string/permlab_statusBar"
1625        android:description="@string/permdesc_statusBar"
1626        android:protectionLevel="signature|system" />
1627
1628    <!-- Allows an application to be the status bar.  Currently used only by SystemUI.apk
1629    @hide -->
1630    <permission android:name="android.permission.STATUS_BAR_SERVICE"
1631        android:label="@string/permlab_statusBarService"
1632        android:description="@string/permdesc_statusBarService"
1633        android:protectionLevel="signature" />
1634
1635    <!-- Allows an application to force a BACK operation on whatever is the
1636         top activity. -->
1637    <permission android:name="android.permission.FORCE_BACK"
1638        android:label="@string/permlab_forceBack"
1639        android:description="@string/permdesc_forceBack"
1640        android:protectionLevel="signature" />
1641
1642    <!-- Allows an application to update device statistics. Not for
1643         use by third party apps. -->
1644    <permission android:name="android.permission.UPDATE_DEVICE_STATS"
1645        android:label="@string/permlab_updateBatteryStats"
1646        android:description="@string/permdesc_updateBatteryStats"
1647        android:protectionLevel="signature|system" />
1648
1649    <!-- @hide Allows an application to collect battery statistics -->
1650    <permission android:name="android.permission.GET_APP_OPS_STATS"
1651        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1652        android:label="@string/permlab_getAppOpsStats"
1653        android:description="@string/permdesc_getAppOpsStats"
1654        android:protectionLevel="signature|system|development" />
1655
1656    <!-- Allows an application to update application operation statistics. Not for
1657         use by third party apps. @hide -->
1658    <permission android:name="android.permission.UPDATE_APP_OPS_STATS"
1659        android:label="@string/permlab_updateAppOpsStats"
1660        android:description="@string/permdesc_updateAppOpsStats"
1661        android:protectionLevel="signature|system" />
1662
1663    <!-- Allows an application to open windows that are for use by parts
1664         of the system user interface.  Not for use by third party apps. -->
1665    <permission android:name="android.permission.INTERNAL_SYSTEM_WINDOW"
1666        android:label="@string/permlab_internalSystemWindow"
1667        android:description="@string/permdesc_internalSystemWindow"
1668        android:protectionLevel="signature" />
1669
1670    <!-- Allows an application to manage (create, destroy,
1671         Z-order) application tokens in the window manager.  This is only
1672         for use by the system. -->
1673    <permission android:name="android.permission.MANAGE_APP_TOKENS"
1674        android:label="@string/permlab_manageAppTokens"
1675        android:description="@string/permdesc_manageAppTokens"
1676        android:protectionLevel="signature" />
1677
1678    <!-- @hide Allows the application to temporarily freeze the screen for a
1679         full-screen transition. -->
1680    <permission android:name="android.permission.FREEZE_SCREEN"
1681        android:label="@string/permlab_freezeScreen"
1682        android:description="@string/permdesc_freezeScreen"
1683        android:protectionLevel="signature" />
1684
1685    <!-- Allows an application to inject user events (keys, touch, trackball)
1686         into the event stream and deliver them to ANY window.  Without this
1687         permission, you can only deliver events to windows in your own process.
1688         Very few applications should need to use this permission. -->
1689    <permission android:name="android.permission.INJECT_EVENTS"
1690        android:label="@string/permlab_injectEvents"
1691        android:description="@string/permdesc_injectEvents"
1692        android:protectionLevel="signature" />
1693
1694    <!-- @hide Allows an application to register an input filter which filters the stream
1695         of user events (keys, touch, trackball) before they are dispatched to any window. -->
1696    <permission android:name="android.permission.FILTER_EVENTS"
1697        android:label="@string/permlab_filter_events"
1698        android:description="@string/permdesc_filter_events"
1699        android:protectionLevel="signature" />
1700
1701    <!-- @hide Allows an application to retrieve info for a window from the window manager. -->
1702    <permission android:name="android.permission.RETRIEVE_WINDOW_INFO"
1703        android:label="@string/permlab_retrieve_window_info"
1704        android:description="@string/permdesc_retrieve_window_info"
1705        android:protectionLevel="signature" />
1706
1707    <!-- @hide Allows an application to temporary enable accessibility on the device. -->
1708    <permission android:name="android.permission.TEMPORARY_ENABLE_ACCESSIBILITY"
1709        android:label="@string/permlab_temporary_enable_accessibility"
1710        android:description="@string/permdesc_temporary_enable_accessibility"
1711        android:protectionLevel="signature" />
1712
1713    <!-- @hide Allows an application to magnify the content of a display. -->
1714    <permission android:name="android.permission.MAGNIFY_DISPLAY"
1715        android:label="@string/permlab_magnify_display"
1716        android:description="@string/permdesc_magnify_display"
1717        android:protectionLevel="signature" />
1718
1719    <!-- Allows an application to watch and control how activities are
1720         started globally in the system.  Only for is in debugging
1721         (usually the monkey command). -->
1722    <permission android:name="android.permission.SET_ACTIVITY_WATCHER"
1723        android:label="@string/permlab_runSetActivityWatcher"
1724        android:description="@string/permdesc_runSetActivityWatcher"
1725        android:protectionLevel="signature" />
1726
1727    <!-- Allows an application to call the activity manager shutdown() API
1728         to put the higher-level system there into a shutdown state.
1729         @hide -->
1730    <permission android:name="android.permission.SHUTDOWN"
1731        android:label="@string/permlab_shutdown"
1732        android:description="@string/permdesc_shutdown"
1733        android:protectionLevel="signature|system" />
1734
1735    <!-- Allows an application to tell the activity manager to temporarily
1736         stop application switches, putting it into a special mode that
1737         prevents applications from immediately switching away from some
1738         critical UI such as the home screen.
1739         @hide -->
1740    <permission android:name="android.permission.STOP_APP_SWITCHES"
1741        android:label="@string/permlab_stopAppSwitches"
1742        android:description="@string/permdesc_stopAppSwitches"
1743        android:protectionLevel="signature|system" />
1744
1745    <!-- Allows an application to retrieve private information about
1746         the current top activity, such as any assist context it can provide. -->
1747    <permission android:name="android.permission.GET_TOP_ACTIVITY_INFO"
1748        android:label="@string/permlab_getTopActivityInfo"
1749        android:description="@string/permdesc_getTopActivityInfo"
1750        android:protectionLevel="signature" />
1751
1752    <!-- Allows an application to retrieve the current state of keys and
1753         switches.  This is only for use by the system.
1754         @deprecated The API that used this permission has been removed. -->
1755    <permission android:name="android.permission.READ_INPUT_STATE"
1756        android:label="@string/permlab_readInputState"
1757        android:description="@string/permdesc_readInputState"
1758        android:protectionLevel="signature" />
1759
1760    <!-- Must be required by an {@link android.inputmethodservice.InputMethodService},
1761         to ensure that only the system can bind to it. -->
1762    <permission android:name="android.permission.BIND_INPUT_METHOD"
1763        android:label="@string/permlab_bindInputMethod"
1764        android:description="@string/permdesc_bindInputMethod"
1765        android:protectionLevel="signature" />
1766
1767    <!-- Must be required by an {@link android.accessibilityservice.AccessibilityService},
1768         to ensure that only the system can bind to it. -->
1769    <permission android:name="android.permission.BIND_ACCESSIBILITY_SERVICE"
1770        android:label="@string/permlab_bindAccessibilityService"
1771        android:description="@string/permdesc_bindAccessibilityService"
1772        android:protectionLevel="signature" />
1773
1774    <!-- Must be required by a TextService (e.g. SpellCheckerService)
1775         to ensure that only the system can bind to it. -->
1776    <permission android:name="android.permission.BIND_TEXT_SERVICE"
1777        android:label="@string/permlab_bindTextService"
1778        android:description="@string/permdesc_bindTextService"
1779        android:protectionLevel="signature" />
1780
1781    <!-- Must be required by an {@link android.net.VpnService},
1782         to ensure that only the system can bind to it. -->
1783    <permission android:name="android.permission.BIND_VPN_SERVICE"
1784        android:label="@string/permlab_bindVpnService"
1785        android:description="@string/permdesc_bindVpnService"
1786        android:protectionLevel="signature" />
1787
1788    <!-- Must be required by a {@link android.service.wallpaper.WallpaperService},
1789         to ensure that only the system can bind to it. -->
1790    <permission android:name="android.permission.BIND_WALLPAPER"
1791        android:label="@string/permlab_bindWallpaper"
1792        android:description="@string/permdesc_bindWallpaper"
1793        android:protectionLevel="signature|system" />
1794
1795    <!-- Must be required by device administration receiver, to ensure that only the
1796         system can interact with it. -->
1797    <permission android:name="android.permission.BIND_DEVICE_ADMIN"
1798        android:label="@string/permlab_bindDeviceAdmin"
1799        android:description="@string/permdesc_bindDeviceAdmin"
1800        android:protectionLevel="signature" />
1801
1802    <!-- Allows low-level access to setting the orientation (actually
1803         rotation) of the screen.  Not for use by normal applications. -->
1804    <permission android:name="android.permission.SET_ORIENTATION"
1805        android:label="@string/permlab_setOrientation"
1806        android:description="@string/permdesc_setOrientation"
1807        android:protectionLevel="signature" />
1808
1809    <!-- Allows low-level access to setting the pointer speed.
1810         Not for use by normal applications. -->
1811    <permission android:name="android.permission.SET_POINTER_SPEED"
1812        android:label="@string/permlab_setPointerSpeed"
1813        android:description="@string/permdesc_setPointerSpeed"
1814        android:protectionLevel="signature" />
1815
1816    <!-- Allows low-level access to setting the keyboard layout.
1817         Not for use by normal applications.
1818         @hide -->
1819    <permission android:name="android.permission.SET_KEYBOARD_LAYOUT"
1820        android:label="@string/permlab_setKeyboardLayout"
1821        android:description="@string/permdesc_setKeyboardLayout"
1822        android:protectionLevel="signature" />
1823
1824    <!-- Allows an application to install packages. -->
1825    <permission android:name="android.permission.INSTALL_PACKAGES"
1826        android:label="@string/permlab_installPackages"
1827        android:description="@string/permdesc_installPackages"
1828        android:protectionLevel="signature|system" />
1829
1830    <!-- Allows an application to clear user data -->
1831    <permission android:name="android.permission.CLEAR_APP_USER_DATA"
1832        android:label="@string/permlab_clearAppUserData"
1833        android:description="@string/permdesc_clearAppUserData"
1834        android:protectionLevel="signature" />
1835
1836    <!-- Allows an application to delete cache files. -->
1837    <permission android:name="android.permission.DELETE_CACHE_FILES"
1838        android:label="@string/permlab_deleteCacheFiles"
1839        android:description="@string/permdesc_deleteCacheFiles"
1840        android:protectionLevel="signature|system" />
1841
1842    <!-- Allows an application to delete packages. -->
1843    <permission android:name="android.permission.DELETE_PACKAGES"
1844        android:label="@string/permlab_deletePackages"
1845        android:description="@string/permdesc_deletePackages"
1846        android:protectionLevel="signature|system" />
1847
1848    <!-- Allows an application to move location of installed package.
1849         @hide -->
1850    <permission android:name="android.permission.MOVE_PACKAGE"
1851        android:label="@string/permlab_movePackage"
1852        android:description="@string/permdesc_movePackage"
1853        android:protectionLevel="signature|system" />
1854
1855    <!-- Allows an application to change whether an application component (other than its own) is
1856         enabled or not. -->
1857    <permission android:name="android.permission.CHANGE_COMPONENT_ENABLED_STATE"
1858        android:label="@string/permlab_changeComponentState"
1859        android:description="@string/permdesc_changeComponentState"
1860        android:protectionLevel="signature|system" />
1861
1862    <!-- @hide Allows an application to grant or revoke specific permissions. -->
1863    <permission android:name="android.permission.GRANT_REVOKE_PERMISSIONS"
1864        android:label="@string/permlab_grantRevokePermissions"
1865        android:description="@string/permdesc_grantRevokePermissions"
1866        android:protectionLevel="signature" />
1867
1868    <!-- Allows an application to use SurfaceFlinger's low level features -->
1869    <permission android:name="android.permission.ACCESS_SURFACE_FLINGER"
1870        android:label="@string/permlab_accessSurfaceFlinger"
1871        android:description="@string/permdesc_accessSurfaceFlinger"
1872        android:protectionLevel="signature" />
1873
1874    <!-- Allows an application to take screen shots and more generally
1875         get access to the frame buffer data -->
1876    <permission android:name="android.permission.READ_FRAME_BUFFER"
1877        android:label="@string/permlab_readFrameBuffer"
1878        android:description="@string/permdesc_readFrameBuffer"
1879        android:protectionLevel="signature|system" />
1880
1881    <!-- Allows an application to configure and connect to Wifi displays
1882         @hide -->
1883    <permission android:name="android.permission.CONFIGURE_WIFI_DISPLAY"
1884        android:label="@string/permlab_configureWifiDisplay"
1885        android:description="@string/permdesc_configureWifiDisplay"
1886        android:protectionLevel="signature" />
1887
1888    <!-- Allows an application to control low-level features of Wifi displays
1889         such as opening an RTSP socket.  This permission should only be used
1890         by the display manager.
1891         @hide -->
1892    <permission android:name="android.permission.CONTROL_WIFI_DISPLAY"
1893        android:label="@string/permlab_controlWifiDisplay"
1894        android:description="@string/permdesc_controlWifiDisplay"
1895        android:protectionLevel="signature" />
1896
1897    <!-- Required to be able to disable the device (very dangerous!). -->
1898    <permission android:name="android.permission.BRICK"
1899        android:label="@string/permlab_brick"
1900        android:description="@string/permdesc_brick"
1901        android:protectionLevel="signature" />
1902
1903    <!-- Required to be able to reboot the device. -->
1904    <permission android:name="android.permission.REBOOT"
1905        android:label="@string/permlab_reboot"
1906        android:description="@string/permdesc_reboot"
1907        android:protectionLevel="signature|system" />
1908
1909   <!-- Allows low-level access to power management -->
1910    <permission android:name="android.permission.DEVICE_POWER"
1911        android:label="@string/permlab_devicePower"
1912        android:description="@string/permdesc_devicePower"
1913        android:protectionLevel="signature" />
1914
1915   <!-- @hide Allows low-level access to tun tap driver -->
1916    <permission android:name="android.permission.NET_TUNNELING"
1917        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1918        android:protectionLevel="signature" />
1919
1920    <!-- Run as a manufacturer test application, running as the root user.
1921         Only available when the device is running in manufacturer test mode. -->
1922    <permission android:name="android.permission.FACTORY_TEST"
1923        android:label="@string/permlab_factoryTest"
1924        android:description="@string/permdesc_factoryTest"
1925        android:protectionLevel="signature" />
1926
1927    <!-- Allows an application to broadcast a notification that an application
1928         package has been removed. -->
1929    <permission android:name="android.permission.BROADCAST_PACKAGE_REMOVED"
1930        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1931        android:label="@string/permlab_broadcastPackageRemoved"
1932        android:description="@string/permdesc_broadcastPackageRemoved"
1933        android:protectionLevel="signature" />
1934
1935    <!-- Allows an application to broadcast an SMS receipt notification -->
1936    <permission android:name="android.permission.BROADCAST_SMS"
1937        android:permissionGroup="android.permission-group.MESSAGES"
1938        android:label="@string/permlab_broadcastSmsReceived"
1939        android:description="@string/permdesc_broadcastSmsReceived"
1940        android:protectionLevel="signature" />
1941
1942    <!-- Allows an application to broadcast a WAP PUSH receipt notification -->
1943    <permission android:name="android.permission.BROADCAST_WAP_PUSH"
1944        android:permissionGroup="android.permission-group.MESSAGES"
1945        android:label="@string/permlab_broadcastWapPush"
1946        android:description="@string/permdesc_broadcastWapPush"
1947        android:protectionLevel="signature" />
1948
1949    <permission android:name="android.permission.MASTER_CLEAR"
1950        android:label="@string/permlab_masterClear"
1951        android:description="@string/permdesc_masterClear"
1952        android:protectionLevel="signature|system" />
1953
1954    <!-- Allows an application to call any phone number, including emergency
1955         numbers, without going through the Dialer user interface for the user
1956         to confirm the call being placed. -->
1957    <permission android:name="android.permission.CALL_PRIVILEGED"
1958        android:label="@string/permlab_callPrivileged"
1959        android:description="@string/permdesc_callPrivileged"
1960        android:protectionLevel="signature|system" />
1961
1962    <!-- Allows an application to perform CDMA OTA provisioning @hide -->
1963    <permission android:name="android.permission.PERFORM_CDMA_PROVISIONING"
1964        android:label="@string/permlab_performCdmaProvisioning"
1965        android:description="@string/permdesc_performCdmaProvisioning"
1966        android:protectionLevel="signature|system" />
1967
1968    <!-- Allows enabling/disabling location update notifications from
1969         the radio. Not for use by normal applications. -->
1970    <permission android:name="android.permission.CONTROL_LOCATION_UPDATES"
1971        android:label="@string/permlab_locationUpdates"
1972        android:description="@string/permdesc_locationUpdates"
1973        android:protectionLevel="signature|system" />
1974
1975    <!-- Allows read/write access to the "properties" table in the checkin
1976         database, to change values that get uploaded. -->
1977    <permission android:name="android.permission.ACCESS_CHECKIN_PROPERTIES"
1978        android:label="@string/permlab_checkinProperties"
1979        android:description="@string/permdesc_checkinProperties"
1980        android:protectionLevel="signature|system" />
1981
1982    <!-- Allows an application to collect component usage
1983         statistics @hide -->
1984    <permission android:name="android.permission.PACKAGE_USAGE_STATS"
1985        android:label="@string/permlab_pkgUsageStats"
1986        android:description="@string/permdesc_pkgUsageStats"
1987        android:protectionLevel="signature|system" />
1988
1989    <!-- Allows an application to collect battery statistics -->
1990    <permission android:name="android.permission.BATTERY_STATS"
1991        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1992        android:label="@string/permlab_batteryStats"
1993        android:description="@string/permdesc_batteryStats"
1994        android:protectionLevel="dangerous" />
1995
1996    <!-- Allows an application to control the backup and restore process
1997         @hide pending API council -->
1998    <permission android:name="android.permission.BACKUP"
1999        android:label="@string/permlab_backup"
2000        android:description="@string/permdesc_backup"
2001        android:protectionLevel="signature|system" />
2002
2003    <!-- Allows a package to launch the secure full-backup confirmation UI.
2004         ONLY the system process may hold this permission.
2005         @hide -->
2006    <permission android:name="android.permission.CONFIRM_FULL_BACKUP"
2007        android:label="@string/permlab_confirm_full_backup"
2008        android:description="@string/permdesc_confirm_full_backup"
2009        android:protectionLevel="signature" />
2010
2011    <!-- Must be required by a {@link android.widget.RemoteViewsService},
2012         to ensure that only the system can bind to it. -->
2013    <permission android:name="android.permission.BIND_REMOTEVIEWS"
2014        android:label="@string/permlab_bindRemoteViews"
2015        android:description="@string/permdesc_bindRemoteViews"
2016        android:protectionLevel="signature|system" />
2017
2018    <!-- Allows an application to tell the AppWidget service which application
2019         can access AppWidget's data.  The normal user flow is that a user
2020         picks an AppWidget to go into a particular host, thereby giving that
2021         host application access to the private data from the AppWidget app.
2022         An application that has this permission should honor that contract.
2023         Very few applications should need to use this permission. -->
2024    <permission android:name="android.permission.BIND_APPWIDGET"
2025        android:permissionGroup="android.permission-group.PERSONAL_INFO"
2026        android:label="@string/permlab_bindGadget"
2027        android:description="@string/permdesc_bindGadget"
2028        android:protectionLevel="signature|system" />
2029
2030    <!-- Private permission, to restrict who can bring up a dialog to add a new
2031         keyguard widget
2032         @hide -->
2033    <permission android:name="android.permission.BIND_KEYGUARD_APPWIDGET"
2034        android:permissionGroup="android.permission-group.PERSONAL_INFO"
2035        android:protectionLevel="signature|system" />
2036
2037    <!-- Internal permission allowing an application to query/set which
2038         applications can bind AppWidgets.
2039         @hide -->
2040    <permission android:name="android.permission.MODIFY_APPWIDGET_BIND_PERMISSIONS"
2041        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
2042        android:protectionLevel="signature|system" />
2043
2044    <!-- Allows applications to change the background data setting
2045         @hide pending API council -->
2046    <permission android:name="android.permission.CHANGE_BACKGROUND_DATA_SETTING"
2047        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
2048        android:protectionLevel="signature"
2049        android:description="@string/permdesc_changeBackgroundDataSetting"
2050        android:label="@string/permlab_changeBackgroundDataSetting" />
2051
2052    <!-- This permission can be used on content providers to allow the global
2053         search system to access their data.  Typically it used when the
2054         provider has some permissions protecting it (which global search
2055         would not be expected to hold), and added as a read-only permission
2056         to the path in the provider where global search queries are
2057         performed.  This permission can not be held by regular applications;
2058         it is used by applications to protect themselves from everyone else
2059         besides global search. -->
2060    <permission android:name="android.permission.GLOBAL_SEARCH"
2061        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
2062        android:protectionLevel="signature|system" />
2063
2064    <!-- Internal permission protecting access to the global search
2065         system: ensures that only the system can access the provider
2066         to perform queries (since this otherwise provides unrestricted
2067         access to a variety of content providers), and to write the
2068         search statistics (to keep applications from gaming the source
2069         ranking).
2070         @hide -->
2071    <permission android:name="android.permission.GLOBAL_SEARCH_CONTROL"
2072        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
2073        android:protectionLevel="signature" />
2074
2075    <!-- Allows applications to set a live wallpaper.
2076         @hide XXX Change to signature once the picker is moved to its
2077         own apk as Ghod Intended. -->
2078    <permission android:name="android.permission.SET_WALLPAPER_COMPONENT"
2079        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
2080        android:protectionLevel="signature|system" />
2081
2082    <!-- Allows applications to read dream settings and dream state.
2083         @hide -->
2084    <permission android:name="android.permission.READ_DREAM_STATE"
2085        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
2086        android:protectionLevel="signature" />
2087
2088    <!-- Allows applications to write dream settings, and start or stop dreaming.
2089         @hide -->
2090    <permission android:name="android.permission.WRITE_DREAM_STATE"
2091        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
2092        android:protectionLevel="signature" />
2093
2094    <!-- Allow an application to read and write the cache partition.
2095         @hide -->
2096    <permission android:name="android.permission.ACCESS_CACHE_FILESYSTEM"
2097        android:label="@string/permlab_cache_filesystem"
2098        android:description="@string/permdesc_cache_filesystem"
2099        android:protectionLevel="signature|system" />
2100
2101    <!-- Must be required by default container service so that only
2102         the system can bind to it and use it to copy
2103         protected data to secure containers or files
2104         accessible to the system.
2105         @hide -->
2106    <permission android:name="android.permission.COPY_PROTECTED_DATA"
2107        android:label="@string/permlab_copyProtectedData"
2108        android:description="@string/permlab_copyProtectedData"
2109        android:protectionLevel="signature" />
2110
2111    <!-- Internal permission protecting access to the encryption methods
2112        @hide
2113    -->
2114    <permission android:name="android.permission.CRYPT_KEEPER"
2115        android:protectionLevel="signature|system" />
2116
2117    <!-- Allows an application to read historical network usage for
2118         specific networks and applications. @hide -->
2119    <permission android:name="android.permission.READ_NETWORK_USAGE_HISTORY"
2120        android:label="@string/permlab_readNetworkUsageHistory"
2121        android:description="@string/permdesc_readNetworkUsageHistory"
2122        android:protectionLevel="signature|system" />
2123
2124    <!-- Allows an application to manage network policies (such as warning and disable
2125         limits) and to define application-specific rules. @hide -->
2126    <permission android:name="android.permission.MANAGE_NETWORK_POLICY"
2127        android:label="@string/permlab_manageNetworkPolicy"
2128        android:description="@string/permdesc_manageNetworkPolicy"
2129        android:protectionLevel="signature" />
2130
2131    <!-- Allows an application to account its network traffic against other UIDs. Used
2132         by system services like download manager and media server. Not for use by
2133         third party apps. @hide -->
2134    <permission android:name="android.permission.MODIFY_NETWORK_ACCOUNTING"
2135        android:label="@string/permlab_modifyNetworkAccounting"
2136        android:description="@string/permdesc_modifyNetworkAccounting"
2137        android:protectionLevel="signature|system" />
2138
2139    <!-- C2DM permission.
2140         @hide Used internally.
2141     -->
2142    <permission android:name="android.intent.category.MASTER_CLEAR.permission.C2D_MESSAGE"
2143          android:protectionLevel="signature" />
2144    <uses-permission android:name="android.intent.category.MASTER_CLEAR.permission.C2D_MESSAGE"/>
2145
2146    <!-- @hide Package verifier needs to have this permission before the PackageManager will
2147         trust it to verify packages.
2148    -->
2149    <permission android:name="android.permission.PACKAGE_VERIFICATION_AGENT"
2150        android:label="@string/permlab_packageVerificationAgent"
2151        android:description="@string/permdesc_packageVerificationAgent"
2152        android:protectionLevel="signature|system" />
2153
2154    <!-- Must be required by package verifier receiver, to ensure that only the
2155         system can interact with it.
2156         @hide
2157    -->
2158    <permission android:name="android.permission.BIND_PACKAGE_VERIFIER"
2159        android:label="@string/permlab_bindPackageVerifier"
2160        android:description="@string/permdesc_bindPackageVerifier"
2161        android:protectionLevel="signature" />
2162
2163    <!-- Allows applications to access serial ports via the SerialManager.
2164         @hide -->
2165    <permission android:name="android.permission.SERIAL_PORT"
2166        android:label="@string/permlab_serialPort"
2167        android:description="@string/permdesc_serialPort"
2168        android:protectionLevel="signature|system" />
2169
2170    <!-- Allows the holder to access content providers from outside an ApplicationThread.
2171         This permission is enforced by the ActivityManagerService on the corresponding APIs,
2172         in particular ActivityManagerService#getContentProviderExternal(String) and
2173         ActivityManagerService#removeContentProviderExternal(String).
2174         @hide
2175    -->
2176    <permission android:name="android.permission.ACCESS_CONTENT_PROVIDERS_EXTERNALLY"
2177        android:label="@string/permlab_accessContentProvidersExternally"
2178        android:description="@string/permdesc_accessContentProvidersExternally"
2179        android:protectionLevel="signature" />
2180    <!-- Allows an application to hold an UpdateLock, recommending that a headless
2181         OTA reboot *not* occur while the lock is held.
2182         @hide -->
2183    <permission android:name="android.permission.UPDATE_LOCK"
2184        android:label="@string/permlab_updateLock"
2185        android:description="@string/permdesc_updateLock"
2186        android:protectionLevel="signatureOrSystem" />
2187
2188    <!-- Allows an application to read the current set of notifications, including
2189         any metadata and intents attached.
2190         @hide -->
2191    <permission android:name="android.permission.ACCESS_NOTIFICATIONS"
2192        android:label="@string/permlab_accessNotifications"
2193        android:description="@string/permdesc_accessNotifications"
2194        android:protectionLevel="signature|system" />
2195
2196    <!-- Allows access to keyguard secure storage.  Only allowed for system processes.
2197        @hide -->
2198    <permission android:name="android.permission.ACCESS_KEYGUARD_SECURE_STORAGE"
2199        android:protectionLevel="signature"
2200        android:label="@string/permlab_access_keyguard_secure_storage"
2201        android:description="@string/permdesc_access_keyguard_secure_storage" />
2202
2203    <!-- Must be required by an {@link
2204         android.service.notification.NotificationListenerService},
2205         to ensure that only the system can bind to it. -->
2206    <permission android:name="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE"
2207        android:label="@string/permlab_bindNotificationListenerService"
2208        android:description="@string/permdesc_bindNotificationListenerService"
2209        android:protectionLevel="signature" />
2210
2211    <!-- The system process is explicitly the only one allowed to launch the
2212         confirmation UI for full backup/restore -->
2213    <uses-permission android:name="android.permission.CONFIRM_FULL_BACKUP"/>
2214
2215    <application android:process="system"
2216                 android:persistent="true"
2217                 android:hasCode="false"
2218                 android:label="@string/android_system_label"
2219                 android:allowClearUserData="false"
2220                 android:backupAgent="com.android.server.SystemBackupAgent"
2221                 android:killAfterRestore="false"
2222                 android:icon="@drawable/ic_launcher_android"
2223                 android:supportsRtl="true">
2224        <activity android:name="com.android.internal.app.ChooserActivity"
2225                android:theme="@style/Theme.Holo.Dialog.Alert"
2226                android:finishOnCloseSystemDialogs="true"
2227                android:excludeFromRecents="true"
2228                android:multiprocess="true">
2229            <intent-filter>
2230                <action android:name="android.intent.action.CHOOSER" />
2231                <category android:name="android.intent.category.DEFAULT" />
2232            </intent-filter>
2233        </activity>
2234        <activity android:name="com.android.internal.app.HeavyWeightSwitcherActivity"
2235                android:theme="@style/Theme.Holo.Dialog"
2236                android:label="@string/heavy_weight_switcher_title"
2237                android:finishOnCloseSystemDialogs="true"
2238                android:excludeFromRecents="true"
2239                android:process=":ui">
2240        </activity>
2241        <activity android:name="com.android.internal.app.PlatLogoActivity"
2242                android:theme="@style/Theme.Wallpaper.NoTitleBar.Fullscreen"
2243                android:process=":ui">
2244        </activity>
2245        <activity android:name="com.android.internal.app.DisableCarModeActivity"
2246                android:theme="@style/Theme.NoDisplay"
2247                android:excludeFromRecents="true"
2248                android:process=":ui">
2249        </activity>
2250
2251        <activity android:name="android.accounts.ChooseAccountActivity"
2252                android:excludeFromRecents="true"
2253                android:exported="true"
2254                android:theme="@android:style/Theme.Holo.Dialog"
2255                android:label="@string/choose_account_label"
2256                android:process=":ui">
2257        </activity>
2258
2259        <activity android:name="android.accounts.ChooseTypeAndAccountActivity"
2260                android:excludeFromRecents="true"
2261                android:exported="true"
2262                android:theme="@android:style/Theme.Holo.Dialog"
2263                android:label="@string/choose_account_label"
2264                android:process=":ui">
2265        </activity>
2266
2267        <activity android:name="android.accounts.ChooseAccountTypeActivity"
2268                android:excludeFromRecents="true"
2269                android:theme="@android:style/Theme.Holo.Dialog"
2270                android:label="@string/choose_account_label"
2271                android:process=":ui">
2272        </activity>
2273
2274        <activity android:name="android.accounts.GrantCredentialsPermissionActivity"
2275                android:excludeFromRecents="true"
2276                android:exported="true"
2277                android:theme="@android:style/Theme.Holo.DialogWhenLarge"
2278                android:process=":ui">
2279        </activity>
2280
2281        <activity android:name="android.content.SyncActivityTooManyDeletes"
2282               android:theme="@android:style/Theme.Holo.Dialog"
2283               android:label="@string/sync_too_many_deletes"
2284               android:process=":ui">
2285        </activity>
2286
2287        <activity android:name="com.android.server.ShutdownActivity"
2288            android:permission="android.permission.SHUTDOWN"
2289            android:excludeFromRecents="true">
2290            <intent-filter>
2291                <action android:name="android.intent.action.ACTION_REQUEST_SHUTDOWN" />
2292                <category android:name="android.intent.category.DEFAULT" />
2293            </intent-filter>
2294            <intent-filter>
2295                <action android:name="android.intent.action.REBOOT" />
2296                <category android:name="android.intent.category.DEFAULT" />
2297            </intent-filter>
2298        </activity>
2299
2300        <activity android:name="com.android.internal.app.NetInitiatedActivity"
2301                android:theme="@style/Theme.Holo.Dialog.Alert"
2302                android:excludeFromRecents="true"
2303                android:process=":ui">
2304        </activity>
2305
2306        <receiver android:name="com.android.server.BootReceiver"
2307                android:primaryUserOnly="true">
2308            <intent-filter>
2309                <action android:name="android.intent.action.BOOT_COMPLETED" />
2310            </intent-filter>
2311        </receiver>
2312
2313        <receiver android:name="com.android.server.updates.CertPinInstallReceiver" >
2314            <intent-filter>
2315                <action android:name="android.intent.action.UPDATE_PINS" />
2316            </intent-filter>
2317        </receiver>
2318
2319        <receiver android:name="com.android.server.updates.IntentFirewallInstallReceiver" >
2320            <intent-filter>
2321                <action android:name="android.intent.action.UPDATE_INTENT_FIREWALL" />
2322            </intent-filter>
2323        </receiver>
2324
2325        <receiver android:name="com.android.server.updates.SmsShortCodesInstallReceiver" >
2326            <intent-filter>
2327                <action android:name="android.intent.action.UPDATE_SMS_SHORT_CODES" />
2328            </intent-filter>
2329        </receiver>
2330
2331        <receiver android:name="com.android.server.updates.TZInfoInstallReceiver" >
2332            <intent-filter>
2333                <action android:name="android.intent.action.UPDATE_TZINFO" />
2334            </intent-filter>
2335        </receiver>
2336
2337        <receiver android:name="com.android.server.updates.SELinuxPolicyInstallReceiver" >
2338            <intent-filter>
2339                <action android:name="android.intent.action.UPDATE_SEPOLICY" />
2340            </intent-filter>
2341        </receiver>
2342
2343        <receiver android:name="com.android.server.MasterClearReceiver"
2344            android:permission="android.permission.MASTER_CLEAR"
2345            android:priority="100" >
2346            <intent-filter>
2347                <!-- For Checkin, Settings, etc.: action=MASTER_CLEAR -->
2348                <action android:name="android.intent.action.MASTER_CLEAR" />
2349
2350                <!-- MCS always uses REMOTE_INTENT: category=MASTER_CLEAR -->
2351                <action android:name="com.google.android.c2dm.intent.RECEIVE" />
2352                <category android:name="android.intent.category.MASTER_CLEAR" />
2353            </intent-filter>
2354        </receiver>
2355
2356        <service android:name="com.android.internal.os.storage.ExternalStorageFormatter"
2357            android:permission="android.permission.MASTER_CLEAR"
2358            android:exported="true" />
2359
2360    </application>
2361
2362</manifest>
2363