AndroidManifest.xml revision 0b61f59d77153e7d63a33fc5d47805feb99d918b
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.UID_REMOVED" />
47    <protected-broadcast android:name="android.intent.action.CONFIGURATION_CHANGED" />
48    <protected-broadcast android:name="android.intent.action.LOCALE_CHANGED" />
49    <protected-broadcast android:name="android.intent.action.BATTERY_CHANGED" />
50    <protected-broadcast android:name="android.intent.action.BATTERY_LOW" />
51    <protected-broadcast android:name="android.intent.action.BATTERY_OKAY" />
52    <protected-broadcast android:name="android.intent.action.ACTION_POWER_CONNECTED" />
53    <protected-broadcast android:name="android.intent.action.ACTION_POWER_DISCONNECTED" />
54    <protected-broadcast android:name="android.intent.action.ACTION_SHUTDOWN" />
55    <protected-broadcast android:name="android.intent.action.DEVICE_STORAGE_LOW" />
56    <protected-broadcast android:name="android.intent.action.DEVICE_STORAGE_OK" />
57    <protected-broadcast android:name="android.intent.action.DEVICE_STORAGE_FULL" />
58    <protected-broadcast android:name="android.intent.action.DEVICE_STORAGE_NOT_FULL" />
59    <protected-broadcast android:name="android.intent.action.NEW_OUTGOING_CALL" />
60    <protected-broadcast android:name="android.intent.action.REBOOT" />
61    <protected-broadcast android:name="android.intent.action.DOCK_EVENT" />
62    <protected-broadcast android:name="android.intent.action.MASTER_CLEAR_NOTIFICATION" />
63
64    <protected-broadcast android:name="android.app.action.ENTER_CAR_MODE" />
65    <protected-broadcast android:name="android.app.action.EXIT_CAR_MODE" />
66    <protected-broadcast android:name="android.app.action.ENTER_DESK_MODE" />
67    <protected-broadcast android:name="android.app.action.EXIT_DESK_MODE" />
68
69    <protected-broadcast android:name="android.backup.intent.RUN" />
70    <protected-broadcast android:name="android.backup.intent.CLEAR" />
71    <protected-broadcast android:name="android.backup.intent.INIT" />
72
73    <protected-broadcast android:name="android.bluetooth.adapter.action.STATE_CHANGED" />
74    <protected-broadcast android:name="android.bluetooth.adapter.action.SCAN_MODE_CHANGED" />
75    <protected-broadcast android:name="android.bluetooth.adapter.action.DISCOVERY_STARTED" />
76    <protected-broadcast android:name="android.bluetooth.adapter.action.DISCOVERY_FINISHED" />
77    <protected-broadcast android:name="android.bluetooth.adapter.action.LOCAL_NAME_CHANGED" />
78    <protected-broadcast android:name="android.bluetooth.adapter.action.CONNECTION_STATE_CHANGED" />
79    <protected-broadcast android:name="android.bluetooth.device.action.FOUND" />
80    <protected-broadcast android:name="android.bluetooth.device.action.DISAPPEARED" />
81    <protected-broadcast android:name="android.bluetooth.device.action.CLASS_CHANGED" />
82    <protected-broadcast android:name="android.bluetooth.device.action.ACL_CONNECTED" />
83    <protected-broadcast android:name="android.bluetooth.device.action.ACL_DISCONNECT_REQUESTED" />
84    <protected-broadcast android:name="android.bluetooth.device.action.ACL_DISCONNECTED" />
85    <protected-broadcast android:name="android.bluetooth.device.action.NAME_CHANGED" />
86    <protected-broadcast android:name="android.bluetooth.device.action.BOND_STATE_CHANGED" />
87    <protected-broadcast android:name="android.bluetooth.device.action.NAME_FAILED" />
88    <protected-broadcast android:name="android.bluetooth.device.action.PAIRING_REQUEST" />
89    <protected-broadcast android:name="android.bluetooth.device.action.PAIRING_CANCEL" />
90    <protected-broadcast android:name="android.bluetooth.device.action.CONNECTION_ACCESS_REPLY" />
91    <protected-broadcast
92        android:name="android.bluetooth.headset.profile.action.CONNECTION_STATE_CHANGED" />
93    <protected-broadcast
94        android:name="android.bluetooth.headset.profile.action.AUDIO_STATE_CHANGED" />
95    <protected-broadcast
96        android:name="android.bluetooth.headset.action.VENDOR_SPECIFIC_HEADSET_EVENT" />
97    <protected-broadcast
98        android:name="android.bluetooth.a2dp.profile.action.CONNECTION_STATE_CHANGED" />
99    <protected-broadcast
100        android:name="android.bluetooth.a2dp.profile.action.PLAYING_STATE_CHANGED" />
101    <protected-broadcast
102        android:name="android.bluetooth.input.profile.action.CONNECTION_STATE_CHANGED" />
103    <protected-broadcast
104        android:name="android.bluetooth.pan.profile.action.CONNECTION_STATE_CHANGED" />
105
106    <protected-broadcast android:name="android.hardware.usb.action.USB_STATE" />
107    <protected-broadcast android:name="android.hardware.usb.action.USB_ACCESSORY_ATTACHED" />
108    <protected-broadcast android:name="android.hardware.usb.action.USB_ACCESSORY_ATTACHED" />
109    <protected-broadcast android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" />
110    <protected-broadcast android:name="android.hardware.usb.action.USB_DEVICE_DETACHED" />
111
112    <protected-broadcast android:name="android.net.conn.CONNECTIVITY_CHANGE" />
113    <protected-broadcast android:name="android.net.conn.CONNECTIVITY_CHANGE_IMMEDIATE" />
114
115    <protected-broadcast android:name="android.nfc.action.LLCP_LINK_STATE_CHANGED" />
116    <protected-broadcast android:name="com.android.nfc_extras.action.RF_FIELD_ON_DETECTED" />
117    <protected-broadcast android:name="com.android.nfc_extras.action.RF_FIELD_OFF_DETECTED" />
118    <protected-broadcast android:name="com.android.nfc_extras.action.AID_SELECTED" />
119
120    <protected-broadcast android:name="android.nfc.action.TRANSACTION_DETECTED" />
121    <protected-broadcast android:name="android.intent.action.CLEAR_DNS_CACHE" />
122    <protected-broadcast android:name="android.intent.action.PROXY_CHANGE" />
123
124
125    <!-- ====================================== -->
126    <!-- Permissions for things that cost money -->
127    <!-- ====================================== -->
128    <eat-comment />
129
130    <!-- Used for permissions that can be used to make the user spend money
131         without their direct involvement.  For example, this is the group
132         for permissions that allow you to directly place phone calls,
133         directly send SMS messages, etc. -->
134    <permission-group android:name="android.permission-group.COST_MONEY"
135        android:label="@string/permgrouplab_costMoney"
136        android:description="@string/permgroupdesc_costMoney" />
137
138    <!-- Allows an application to send SMS messages. -->
139    <permission android:name="android.permission.SEND_SMS"
140        android:permissionGroup="android.permission-group.COST_MONEY"
141        android:protectionLevel="dangerous"
142        android:label="@string/permlab_sendSms"
143        android:description="@string/permdesc_sendSms" />
144
145    <!-- Allows an application to send SMS messages via the Messaging app with no user
146         input or confirmation.
147         @hide -->
148    <permission android:name="android.permission.SEND_SMS_NO_CONFIRMATION"
149        android:permissionGroup="android.permission-group.COST_MONEY"
150        android:protectionLevel="signatureOrSystem"
151        android:label="@string/permlab_sendSmsNoConfirmation"
152        android:description="@string/permdesc_sendSmsNoConfirmation" />
153
154    <!-- Allows an application to initiate a phone call without going through
155         the Dialer user interface for the user to confirm the call
156         being placed. -->
157    <permission android:name="android.permission.CALL_PHONE"
158        android:permissionGroup="android.permission-group.COST_MONEY"
159        android:protectionLevel="dangerous"
160        android:label="@string/permlab_callPhone"
161        android:description="@string/permdesc_callPhone" />
162
163    <!-- ================================== -->
164    <!-- Permissions for accessing messages -->
165    <!-- ================================== -->
166    <eat-comment />
167
168    <!-- Used for permissions that allow an application to send messages
169         on behalf of the user or intercept messages being received by the
170         user.  This is primarily intended for SMS/MMS messaging, such as
171         receiving or reading an MMS. -->
172    <permission-group android:name="android.permission-group.MESSAGES"
173        android:label="@string/permgrouplab_messages"
174        android:description="@string/permgroupdesc_messages" />
175
176    <!-- Allows an application to monitor incoming SMS messages, to record
177         or perform processing on them. -->
178    <permission android:name="android.permission.RECEIVE_SMS"
179        android:permissionGroup="android.permission-group.MESSAGES"
180        android:protectionLevel="dangerous"
181        android:label="@string/permlab_receiveSms"
182        android:description="@string/permdesc_receiveSms" />
183
184    <!-- Allows an application to monitor incoming MMS messages, to record
185         or perform processing on them. -->
186    <permission android:name="android.permission.RECEIVE_MMS"
187        android:permissionGroup="android.permission-group.MESSAGES"
188        android:protectionLevel="dangerous"
189        android:label="@string/permlab_receiveMms"
190        android:description="@string/permdesc_receiveMms" />
191
192    <!-- Allows an application to receive emergency cell broadcast messages,
193         to record or display them to the user. Reserved for system apps.
194         @hide Pending API council approval -->
195    <permission android:name="android.permission.RECEIVE_EMERGENCY_BROADCAST"
196        android:permissionGroup="android.permission-group.MESSAGES"
197        android:protectionLevel="signatureOrSystem"
198        android:label="@string/permlab_receiveEmergencyBroadcast"
199        android:description="@string/permdesc_receiveEmergencyBroadcast" />
200
201    <!-- Allows an application to read SMS messages. -->
202    <permission android:name="android.permission.READ_SMS"
203        android:permissionGroup="android.permission-group.MESSAGES"
204        android:protectionLevel="dangerous"
205        android:label="@string/permlab_readSms"
206        android:description="@string/permdesc_readSms" />
207
208    <!-- Allows an application to write SMS messages. -->
209    <permission android:name="android.permission.WRITE_SMS"
210        android:permissionGroup="android.permission-group.MESSAGES"
211        android:protectionLevel="dangerous"
212        android:label="@string/permlab_writeSms"
213        android:description="@string/permdesc_writeSms" />
214
215    <!-- Allows an application to monitor incoming WAP push messages. -->
216    <permission android:name="android.permission.RECEIVE_WAP_PUSH"
217        android:permissionGroup="android.permission-group.MESSAGES"
218        android:protectionLevel="dangerous"
219        android:label="@string/permlab_receiveWapPush"
220        android:description="@string/permdesc_receiveWapPush" />
221
222    <!-- =============================================================== -->
223    <!-- Permissions for accessing personal info (contacts and calendar) -->
224    <!-- =============================================================== -->
225    <eat-comment />
226
227    <!-- Used for permissions that provide access to the user's private data,
228         such as contacts, calendar events, e-mail messages, etc.  This includes
229         both reading and writing of this data (which should generally be
230         expressed as two distinct permissions). -->
231    <permission-group android:name="android.permission-group.PERSONAL_INFO"
232        android:label="@string/permgrouplab_personalInfo"
233        android:description="@string/permgroupdesc_personalInfo" />
234
235    <!-- Allows an application to read the user's contacts data. -->
236    <permission android:name="android.permission.READ_CONTACTS"
237        android:permissionGroup="android.permission-group.PERSONAL_INFO"
238        android:protectionLevel="dangerous"
239        android:label="@string/permlab_readContacts"
240        android:description="@string/permdesc_readContacts" />
241
242    <!-- Allows an application to write (but not read) the user's
243         contacts data. -->
244    <permission android:name="android.permission.WRITE_CONTACTS"
245        android:permissionGroup="android.permission-group.PERSONAL_INFO"
246        android:protectionLevel="dangerous"
247        android:label="@string/permlab_writeContacts"
248        android:description="@string/permdesc_writeContacts" />
249
250
251    <!-- Allows an application to read the user's personal profile data. -->
252    <permission android:name="android.permission.READ_PROFILE"
253        android:permissionGroup="android.permission-group.PERSONAL_INFO"
254        android:protectionLevel="dangerous"
255        android:label="@string/permlab_readProfile"
256        android:description="@string/permdesc_readProfile" />
257
258    <!-- Allows an application to write (but not read) the user's
259         personal profile data. -->
260    <permission android:name="android.permission.WRITE_PROFILE"
261        android:permissionGroup="android.permission-group.PERSONAL_INFO"
262        android:protectionLevel="dangerous"
263        android:label="@string/permlab_writeProfile"
264        android:description="@string/permdesc_writeProfile" />
265
266    <!-- Allows an application to read from the user's social stream.
267         @hide -->
268    <permission android:name="android.permission.READ_SOCIAL_STREAM"
269        android:permissionGroup="android.permission-group.PERSONAL_INFO"
270        android:protectionLevel="dangerous"
271        android:label="@string/permlab_readSocialStream"
272        android:description="@string/permdesc_readSocialStream" />
273
274    <!-- Allows an application to write (but not read) the user's
275         social stream data.
276         @hide -->
277    <permission android:name="android.permission.WRITE_SOCIAL_STREAM"
278        android:permissionGroup="android.permission-group.PERSONAL_INFO"
279        android:protectionLevel="dangerous"
280        android:label="@string/permlab_writeSocialStream"
281        android:description="@string/permdesc_writeSocialStream" />
282
283    <!-- Allows an application to read the user's calendar data. -->
284    <permission android:name="android.permission.READ_CALENDAR"
285        android:permissionGroup="android.permission-group.PERSONAL_INFO"
286        android:protectionLevel="dangerous"
287        android:label="@string/permlab_readCalendar"
288        android:description="@string/permdesc_readCalendar" />
289
290    <!-- Allows an application to write (but not read) the user's
291         calendar data. -->
292    <permission android:name="android.permission.WRITE_CALENDAR"
293        android:permissionGroup="android.permission-group.PERSONAL_INFO"
294        android:protectionLevel="dangerous"
295        android:label="@string/permlab_writeCalendar"
296        android:description="@string/permdesc_writeCalendar" />
297
298    <!-- Allows an application to read the user dictionary. This should
299         really only be required by an IME, or a dictionary editor like
300         the Settings app.
301         @hide Pending API council approval -->
302    <permission android:name="android.permission.READ_USER_DICTIONARY"
303        android:permissionGroup="android.permission-group.PERSONAL_INFO"
304        android:protectionLevel="dangerous"
305        android:label="@string/permlab_readDictionary"
306        android:description="@string/permdesc_readDictionary" />
307
308    <!-- Allows an application to write to the user dictionary.
309         @hide Pending API council approval -->
310    <permission android:name="android.permission.WRITE_USER_DICTIONARY"
311        android:permissionGroup="android.permission-group.PERSONAL_INFO"
312        android:protectionLevel="normal"
313        android:label="@string/permlab_writeDictionary"
314        android:description="@string/permdesc_writeDictionary" />
315
316    <!-- Allows an application to read (but not write) the user's
317        browsing history and bookmarks. -->
318    <permission android:name="com.android.browser.permission.READ_HISTORY_BOOKMARKS"
319        android:permissionGroup="android.permission-group.PERSONAL_INFO"
320        android:label="@string/permlab_readHistoryBookmarks"
321        android:description="@string/permdesc_readHistoryBookmarks"
322        android:protectionLevel="dangerous" />
323
324    <!-- Allows an application to write (but not read) the user's
325        browsing history and bookmarks. -->
326    <permission android:name="com.android.browser.permission.WRITE_HISTORY_BOOKMARKS"
327        android:permissionGroup="android.permission-group.PERSONAL_INFO"
328        android:label="@string/permlab_writeHistoryBookmarks"
329        android:description="@string/permdesc_writeHistoryBookmarks"
330        android:protectionLevel="dangerous" />
331
332    <!-- Allows an application to broadcast an Intent to set an alarm for the
333         user. -->
334    <permission android:name="com.android.alarm.permission.SET_ALARM"
335        android:permissionGroup="android.permission-group.PERSONAL_INFO"
336        android:label="@string/permlab_setAlarm"
337        android:description="@string/permdesc_setAlarm"
338        android:protectionLevel="normal" />
339
340   <!-- Allows an application to add voicemails into the system. -->
341    <permission android:name="com.android.voicemail.permission.ADD_VOICEMAIL"
342        android:permissionGroup="android.permission-group.PERSONAL_INFO"
343        android:protectionLevel="dangerous"
344        android:label="@string/permlab_addVoicemail"
345        android:description="@string/permdesc_addVoicemail" />
346
347    <!-- ======================================= -->
348    <!-- Permissions for accessing location info -->
349    <!-- ======================================= -->
350    <eat-comment />
351
352    <!-- Used for permissions that allow access to the user's current
353         location. -->
354    <permission-group android:name="android.permission-group.LOCATION"
355        android:label="@string/permgrouplab_location"
356        android:description="@string/permgroupdesc_location" />
357
358    <!-- Allows an application to access fine (e.g., GPS) location -->
359    <permission android:name="android.permission.ACCESS_FINE_LOCATION"
360        android:permissionGroup="android.permission-group.LOCATION"
361        android:protectionLevel="dangerous"
362        android:label="@string/permlab_accessFineLocation"
363        android:description="@string/permdesc_accessFineLocation" />
364
365    <!-- Allows an application to access coarse (e.g., Cell-ID, WiFi) location -->
366    <permission android:name="android.permission.ACCESS_COARSE_LOCATION"
367        android:permissionGroup="android.permission-group.LOCATION"
368        android:protectionLevel="dangerous"
369        android:label="@string/permlab_accessCoarseLocation"
370        android:description="@string/permdesc_accessCoarseLocation" />
371
372    <!-- Allows an application to create mock location providers for testing -->
373    <permission android:name="android.permission.ACCESS_MOCK_LOCATION"
374        android:permissionGroup="android.permission-group.LOCATION"
375        android:protectionLevel="dangerous"
376        android:label="@string/permlab_accessMockLocation"
377        android:description="@string/permdesc_accessMockLocation" />
378
379    <!-- Allows an application to access extra location provider commands -->
380    <permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"
381        android:permissionGroup="android.permission-group.LOCATION"
382        android:protectionLevel="normal"
383        android:label="@string/permlab_accessLocationExtraCommands"
384        android:description="@string/permdesc_accessLocationExtraCommands" />
385
386    <!-- Allows an application to install a location provider into the Location Manager -->
387    <permission android:name="android.permission.INSTALL_LOCATION_PROVIDER"
388        android:protectionLevel="signatureOrSystem"
389        android:label="@string/permlab_installLocationProvider"
390        android:description="@string/permdesc_installLocationProvider" />
391
392    <!-- ======================================= -->
393    <!-- Permissions for accessing networks -->
394    <!-- ======================================= -->
395    <eat-comment />
396
397    <!-- Used for permissions that provide access to networking services.  The
398         main permission here is internet access, but this is also an
399         appropriate group for accessing or modifying any network configuration
400         or other related network operations. -->
401    <permission-group android:name="android.permission-group.NETWORK"
402        android:label="@string/permgrouplab_network"
403        android:description="@string/permgroupdesc_network" />
404
405    <!-- Allows applications to open network sockets. -->
406    <permission android:name="android.permission.INTERNET"
407        android:permissionGroup="android.permission-group.NETWORK"
408        android:protectionLevel="dangerous"
409        android:description="@string/permdesc_createNetworkSockets"
410        android:label="@string/permlab_createNetworkSockets" />
411
412    <!-- Allows applications to access information about networks -->
413    <permission android:name="android.permission.ACCESS_NETWORK_STATE"
414        android:permissionGroup="android.permission-group.NETWORK"
415        android:protectionLevel="normal"
416        android:description="@string/permdesc_accessNetworkState"
417        android:label="@string/permlab_accessNetworkState" />
418
419    <!-- Allows applications to access information about Wi-Fi networks -->
420    <permission android:name="android.permission.ACCESS_WIFI_STATE"
421        android:permissionGroup="android.permission-group.NETWORK"
422        android:protectionLevel="normal"
423        android:description="@string/permdesc_accessWifiState"
424        android:label="@string/permlab_accessWifiState" />
425
426    <!-- Allows applications to connect to paired bluetooth devices -->
427    <permission android:name="android.permission.BLUETOOTH"
428        android:permissionGroup="android.permission-group.NETWORK"
429        android:protectionLevel="dangerous"
430        android:description="@string/permdesc_bluetooth"
431        android:label="@string/permlab_bluetooth" />
432
433    <!-- Allows applications to perform I/O operations over NFC -->
434    <permission android:name="android.permission.NFC"
435        android:permissionGroup="android.permission-group.NETWORK"
436        android:protectionLevel="dangerous"
437        android:description="@string/permdesc_nfc"
438        android:label="@string/permlab_nfc" />
439
440    <!-- Allows an application to use SIP service -->
441    <permission android:name="android.permission.USE_SIP"
442        android:permissionGroup="android.permission-group.NETWORK"
443        android:protectionLevel="dangerous"
444        android:description="@string/permdesc_use_sip"
445        android:label="@string/permlab_use_sip" />
446
447    <!-- Allows applications to call into AccountAuthenticators. Only
448    the system can get this permission. -->
449    <permission android:name="android.permission.ACCOUNT_MANAGER"
450        android:permissionGroup="android.permission-group.ACCOUNTS"
451        android:protectionLevel="signature"
452        android:description="@string/permdesc_accountManagerService"
453        android:label="@string/permlab_accountManagerService" />
454
455    <!-- Allows an internal user to use privaledged ConnectivityManager
456    APIs.
457        @hide -->
458    <permission android:name="android.permission.CONNECTIVITY_INTERNAL"
459        android:permissionGroup="android.permission-group.NETWORK"
460        android:protectionLevel="signatureOrSystem" />
461
462    <!-- ================================== -->
463    <!-- Permissions for accessing accounts -->
464    <!-- ================================== -->
465    <eat-comment />
466
467    <!-- Permissions for direct access to the accounts managed
468         by the Account Manager. -->
469    <permission-group android:name="android.permission-group.ACCOUNTS"
470        android:label="@string/permgrouplab_accounts"
471        android:description="@string/permgroupdesc_accounts" />
472
473    <!-- Allows access to the list of accounts in the Accounts Service -->
474    <permission android:name="android.permission.GET_ACCOUNTS"
475        android:permissionGroup="android.permission-group.ACCOUNTS"
476        android:protectionLevel="normal"
477        android:description="@string/permdesc_getAccounts"
478        android:label="@string/permlab_getAccounts" />
479
480    <!-- Allows an application to act as an AccountAuthenticator for
481         the AccountManager -->
482    <permission android:name="android.permission.AUTHENTICATE_ACCOUNTS"
483        android:permissionGroup="android.permission-group.ACCOUNTS"
484        android:protectionLevel="dangerous"
485        android:label="@string/permlab_authenticateAccounts"
486        android:description="@string/permdesc_authenticateAccounts" />
487
488    <!-- Allows an application to request authtokens from the AccountManager -->
489    <permission android:name="android.permission.USE_CREDENTIALS"
490        android:permissionGroup="android.permission-group.ACCOUNTS"
491        android:protectionLevel="dangerous"
492        android:label="@string/permlab_useCredentials"
493        android:description="@string/permdesc_useCredentials" />
494
495    <!-- Allows an application to manage the list of accounts in the AccountManager -->
496    <permission android:name="android.permission.MANAGE_ACCOUNTS"
497        android:permissionGroup="android.permission-group.ACCOUNTS"
498        android:protectionLevel="dangerous"
499        android:label="@string/permlab_manageAccounts"
500        android:description="@string/permdesc_manageAccounts" />
501
502    <!-- ================================== -->
503    <!-- Permissions for accessing hardware -->
504    <!-- ================================== -->
505    <eat-comment />
506
507    <!-- Used for permissions that provide direct access to the hardware on
508         the device.  This includes audio, the camera, vibrator, etc. -->
509    <permission-group android:name="android.permission-group.HARDWARE_CONTROLS"
510        android:label="@string/permgrouplab_hardwareControls"
511        android:description="@string/permgroupdesc_hardwareControls" />
512
513    <!-- Allows an application to modify global audio settings -->
514    <permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"
515        android:permissionGroup="android.permission-group.HARDWARE_CONTROLS"
516        android:protectionLevel="dangerous"
517        android:label="@string/permlab_modifyAudioSettings"
518        android:description="@string/permdesc_modifyAudioSettings" />
519
520    <!-- Allows an application to record audio -->
521    <permission android:name="android.permission.RECORD_AUDIO"
522        android:permissionGroup="android.permission-group.HARDWARE_CONTROLS"
523        android:protectionLevel="dangerous"
524        android:label="@string/permlab_recordAudio"
525        android:description="@string/permdesc_recordAudio" />
526
527    <!-- Required to be able to access the camera device.
528         <p>This will automatically enforce the <a
529         href="{@docRoot}guide/topics/manifest/uses-feature-element.html">{@code
530         &lt;uses-feature&gt;}</a> manifest element for <em>all</em> camera features.
531         If you do not require all camera features or can properly operate if a camera
532         is not available, then you must modify your manifest as appropriate in order to
533         install on devices that don't support all camera features.</p> -->
534    <permission android:name="android.permission.CAMERA"
535        android:permissionGroup="android.permission-group.HARDWARE_CONTROLS"
536        android:protectionLevel="dangerous"
537        android:label="@string/permlab_camera"
538        android:description="@string/permdesc_camera" />
539
540    <!-- Allows access to the vibrator -->
541    <permission android:name="android.permission.VIBRATE"
542        android:permissionGroup="android.permission-group.HARDWARE_CONTROLS"
543        android:protectionLevel="normal"
544        android:label="@string/permlab_vibrate"
545        android:description="@string/permdesc_vibrate" />
546
547    <!-- Allows access to the flashlight -->
548    <permission android:name="android.permission.FLASHLIGHT"
549        android:permissionGroup="android.permission-group.HARDWARE_CONTROLS"
550        android:protectionLevel="normal"
551        android:label="@string/permlab_flashlight"
552        android:description="@string/permdesc_flashlight" />
553
554    <!-- Allows an application to manage preferences and permissions for USB devices
555         @hide -->
556    <permission android:name="android.permission.MANAGE_USB"
557        android:permissionGroup="android.permission-group.HARDWARE_CONTROLS"
558        android:protectionLevel="signatureOrSystem"
559        android:label="@string/permlab_manageUsb"
560        android:description="@string/permdesc_manageUsb" />
561
562    <!-- Allows an application to access the MTP USB kernel driver.
563         For use only by the device side MTP implementation.
564         @hide -->
565    <permission android:name="android.permission.ACCESS_MTP"
566        android:permissionGroup="android.permission-group.HARDWARE_CONTROLS"
567        android:protectionLevel="signatureOrSystem"
568        android:label="@string/permlab_accessMtp"
569        android:description="@string/permdesc_accessMtp" />
570
571    <!-- Allows access to hardware peripherals.  Intended only for hardware testing -->
572    <permission android:name="android.permission.HARDWARE_TEST"
573        android:permissionGroup="android.permission-group.HARDWARE_CONTROLS"
574        android:protectionLevel="signature"
575        android:label="@string/permlab_hardware_test"
576        android:description="@string/permdesc_hardware_test" />
577
578    <!-- Allows access to configure network interfaces, configure/use IPSec, etc.
579         @hide -->
580    <permission android:name="android.permission.NET_ADMIN"
581        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
582        android:protectionLevel="signature" />
583
584    <!-- =========================================== -->
585    <!-- Permissions associated with telephony state -->
586    <!-- =========================================== -->
587    <eat-comment />
588
589    <!-- Used for permissions that are associated with accessing and modifyign
590         telephony state: intercepting outgoing calls, reading
591         and modifying the phone state.  Note that
592         placing phone calls is not in this group, since that is in the
593         more important "takin' yer moneys" group. -->
594    <permission-group android:name="android.permission-group.PHONE_CALLS"
595        android:label="@string/permgrouplab_phoneCalls"
596        android:description="@string/permgroupdesc_phoneCalls" />
597
598    <!-- Allows an application to monitor, modify, or abort outgoing
599         calls. -->
600    <permission android:name="android.permission.PROCESS_OUTGOING_CALLS"
601        android:permissionGroup="android.permission-group.PHONE_CALLS"
602        android:protectionLevel="dangerous"
603        android:label="@string/permlab_processOutgoingCalls"
604        android:description="@string/permdesc_processOutgoingCalls" />
605
606    <!-- Allows modification of the telephony state - power on, mmi, etc.
607         Does not include placing calls. -->
608    <permission android:name="android.permission.MODIFY_PHONE_STATE"
609        android:permissionGroup="android.permission-group.PHONE_CALLS"
610        android:protectionLevel="signatureOrSystem"
611        android:label="@string/permlab_modifyPhoneState"
612        android:description="@string/permdesc_modifyPhoneState" />
613
614    <!-- Allows read only access to phone state. -->
615    <permission android:name="android.permission.READ_PHONE_STATE"
616        android:permissionGroup="android.permission-group.PHONE_CALLS"
617        android:protectionLevel="dangerous"
618        android:label="@string/permlab_readPhoneState"
619        android:description="@string/permdesc_readPhoneState" />
620
621    <!-- Allows read access to privileged phone state.
622         @hide Used internally. -->
623    <permission android:name="android.permission.READ_PRIVILEGED_PHONE_STATE"
624        android:permissionGroup="android.permission-group.PHONE_CALLS"
625        android:protectionLevel="signatureOrSystem" />
626
627    <!-- ================================== -->
628    <!-- Permissions for sdcard interaction -->
629    <!-- ================================== -->
630    <eat-comment />
631
632    <!-- Group of permissions that are related to SD card access. -->
633    <permission-group android:name="android.permission-group.STORAGE"
634        android:label="@string/permgrouplab_storage"
635        android:description="@string/permgroupdesc_storage" />
636
637    <!-- Allows an application to write to external storage -->
638    <permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
639        android:permissionGroup="android.permission-group.STORAGE"
640        android:label="@string/permlab_sdcardWrite"
641        android:description="@string/permdesc_sdcardWrite"
642        android:protectionLevel="dangerous" />
643
644    <!-- Allows an application to write to internal media storage
645         @hide  -->
646    <permission android:name="android.permission.WRITE_MEDIA_STORAGE"
647        android:permissionGroup="android.permission-group.STORAGE"
648        android:label="@string/permlab_mediaStorageWrite"
649        android:description="@string/permdesc_mediaStorageWrite"
650        android:protectionLevel="signatureOrSystem" />
651
652    <!-- ============================================ -->
653    <!-- Permissions for low-level system interaction -->
654    <!-- ============================================ -->
655    <eat-comment />
656
657    <!-- Group of permissions that are related to system APIs.  Many
658         of these are not permissions the user will be expected to understand,
659         and such permissions should generally be marked as "normal" protection
660         level so they don't get displayed.  This can also, however, be used
661         for miscellaneous features that provide access to the operating system,
662         such as writing the global system settings. -->
663    <permission-group android:name="android.permission-group.SYSTEM_TOOLS"
664        android:label="@string/permgrouplab_systemTools"
665        android:description="@string/permgroupdesc_systemTools" />
666
667    <!-- Allows an application to read or write the system settings. -->
668    <permission android:name="android.permission.WRITE_SETTINGS"
669        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
670        android:protectionLevel="dangerous"
671        android:label="@string/permlab_writeSettings"
672        android:description="@string/permdesc_writeSettings" />
673
674    <!-- Allows an application to read or write the secure system settings. -->
675    <permission android:name="android.permission.WRITE_SECURE_SETTINGS"
676        android:protectionLevel="signatureOrSystem"
677        android:label="@string/permlab_writeSecureSettings"
678        android:description="@string/permdesc_writeSecureSettings" />
679
680    <!-- Allows an application to modify the Google service map. -->
681    <permission android:name="android.permission.WRITE_GSERVICES"
682        android:protectionLevel="signatureOrSystem"
683        android:label="@string/permlab_writeGservices"
684        android:description="@string/permdesc_writeGservices" />
685
686    <!-- Allows an application to expand or collapse the status bar. -->
687    <permission android:name="android.permission.EXPAND_STATUS_BAR"
688        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
689        android:protectionLevel="normal"
690        android:label="@string/permlab_expandStatusBar"
691        android:description="@string/permdesc_expandStatusBar" />
692
693    <!-- Allows an application to get information about the currently
694         or recently running tasks: a thumbnail representation of the tasks,
695         what activities are running in it, etc. -->
696    <permission android:name="android.permission.GET_TASKS"
697        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
698        android:protectionLevel="dangerous"
699        android:label="@string/permlab_getTasks"
700        android:description="@string/permdesc_getTasks" />
701
702    <!-- Allows an application to change the Z-order of tasks -->
703    <permission android:name="android.permission.REORDER_TASKS"
704        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
705        android:protectionLevel="dangerous"
706        android:label="@string/permlab_reorderTasks"
707        android:description="@string/permdesc_reorderTasks" />
708
709    <!-- @hide Allows an application to change to remove/kill tasks -->
710    <permission android:name="android.permission.REMOVE_TASKS"
711        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
712        android:protectionLevel="signature"
713        android:label="@string/permlab_removeTasks"
714        android:description="@string/permdesc_removeTasks" />
715
716    <!-- Allows an application to modify the current configuration, such
717         as locale. -->
718    <permission android:name="android.permission.CHANGE_CONFIGURATION"
719        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
720        android:protectionLevel="dangerous"
721        android:label="@string/permlab_changeConfiguration"
722        android:description="@string/permdesc_changeConfiguration" />
723
724    <!-- @deprecated The {@link android.app.ActivityManager#restartPackage}
725        API is no longer supported. -->
726    <permission android:name="android.permission.RESTART_PACKAGES"
727        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
728        android:protectionLevel="normal"
729        android:label="@string/permlab_killBackgroundProcesses"
730        android:description="@string/permdesc_killBackgroundProcesses" />
731
732    <!-- Allows an application to call
733        {@link android.app.ActivityManager#killBackgroundProcesses}. -->
734    <permission android:name="android.permission.KILL_BACKGROUND_PROCESSES"
735        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
736        android:protectionLevel="normal"
737        android:label="@string/permlab_killBackgroundProcesses"
738        android:description="@string/permdesc_killBackgroundProcesses" />
739
740    <!-- Allows an application to call
741        {@link android.app.ActivityManager#forceStopPackage}.
742        @hide -->
743    <permission android:name="android.permission.FORCE_STOP_PACKAGES"
744        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
745        android:protectionLevel="signature"
746        android:label="@string/permlab_forceStopPackages"
747        android:description="@string/permdesc_forceStopPackages" />
748
749    <!-- Allows an application to retrieve state dump information from system
750         services. -->
751    <permission android:name="android.permission.DUMP"
752        android:permissionGroup="android.permission-group.PERSONAL_INFO"
753        android:protectionLevel="signatureOrSystem"
754        android:label="@string/permlab_dump"
755        android:description="@string/permdesc_dump" />
756
757    <!-- @hide Allows an application to retrieve the content of the active window
758         An active window is the window that has fired an accessibility event. -->
759    <permission android:name="android.permission.RETRIEVE_WINDOW_CONTENT"
760        android:permissionGroup="android.permission-group.PERSONAL_INFO"
761        android:protectionLevel="signatureOrSystem"
762        android:label="@string/permlab_retrieve_window_content"
763        android:description="@string/permdesc_retrieve_window_content" />
764
765    <!-- Allows an application to open windows using the type
766         {@link android.view.WindowManager.LayoutParams#TYPE_SYSTEM_ALERT},
767         shown on top of all other applications.  Very few applications
768         should use this permission; these windows are intended for
769         system-level interaction with the user. -->
770    <permission android:name="android.permission.SYSTEM_ALERT_WINDOW"
771        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
772        android:protectionLevel="dangerous"
773        android:label="@string/permlab_systemAlertWindow"
774        android:description="@string/permdesc_systemAlertWindow" />
775
776    <!-- Modify the global animation scaling factor. -->
777    <permission android:name="android.permission.SET_ANIMATION_SCALE"
778        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
779        android:protectionLevel="dangerous"
780        android:label="@string/permlab_setAnimationScale"
781        android:description="@string/permdesc_setAnimationScale" />
782
783    <!-- @deprecated This functionality will be removed in the future; please do
784         not use.
785
786         Allow an application to make its activities persistent. -->
787    <permission android:name="android.permission.PERSISTENT_ACTIVITY"
788        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
789        android:protectionLevel="dangerous"
790        android:label="@string/permlab_persistentActivity"
791        android:description="@string/permdesc_persistentActivity" />
792
793    <!-- Allows an application to find out the space used by any package. -->
794    <permission android:name="android.permission.GET_PACKAGE_SIZE"
795        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
796        android:protectionLevel="normal"
797        android:label="@string/permlab_getPackageSize"
798        android:description="@string/permdesc_getPackageSize" />
799
800    <!-- @deprecated No longer useful, see
801         {@link android.content.pm.PackageManager#addPackageToPreferred}
802         for details. -->
803    <permission android:name="android.permission.SET_PREFERRED_APPLICATIONS"
804        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
805        android:protectionLevel="signature"
806        android:label="@string/permlab_setPreferredApplications"
807        android:description="@string/permdesc_setPreferredApplications" />
808
809    <!-- Allows an application to receive the
810         {@link android.content.Intent#ACTION_BOOT_COMPLETED} that is
811         broadcast after the system finishes booting.  If you don't
812         request this permission, you will not receive the broadcast at
813         that time.  Though holding this permission does not have any
814         security implications, it can have a negative impact on the
815         user experience by increasing the amount of time it takes the
816         system to start and allowing applications to have themselves
817         running without the user being aware of them.  As such, you must
818         explicitly declare your use of this facility to make that visible
819         to the user. -->
820    <permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"
821        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
822        android:protectionLevel="normal"
823        android:label="@string/permlab_receiveBootCompleted"
824        android:description="@string/permdesc_receiveBootCompleted" />
825
826    <!-- Allows an application to broadcast sticky intents.  These are
827         broadcasts whose data is held by the system after being finished,
828         so that clients can quickly retrieve that data without having
829         to wait for the next broadcast. -->
830    <permission android:name="android.permission.BROADCAST_STICKY"
831        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
832        android:protectionLevel="normal"
833        android:label="@string/permlab_broadcastSticky"
834        android:description="@string/permdesc_broadcastSticky" />
835
836    <!-- Allows using PowerManager WakeLocks to keep processor from sleeping or screen
837         from dimming -->
838    <permission android:name="android.permission.WAKE_LOCK"
839        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
840        android:protectionLevel="dangerous"
841        android:label="@string/permlab_wakeLock"
842        android:description="@string/permdesc_wakeLock" />
843
844    <!-- Allows applications to set the wallpaper -->
845    <permission android:name="android.permission.SET_WALLPAPER"
846        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
847        android:protectionLevel="normal"
848        android:label="@string/permlab_setWallpaper"
849        android:description="@string/permdesc_setWallpaper" />
850
851    <!-- Allows applications to set the wallpaper hints -->
852    <permission android:name="android.permission.SET_WALLPAPER_HINTS"
853        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
854        android:protectionLevel="normal"
855        android:label="@string/permlab_setWallpaperHints"
856        android:description="@string/permdesc_setWallpaperHints" />
857
858    <!-- Allows applications to set the system time -->
859    <permission android:name="android.permission.SET_TIME"
860        android:protectionLevel="signatureOrSystem"
861        android:label="@string/permlab_setTime"
862        android:description="@string/permdesc_setTime" />
863
864    <!-- Allows applications to set the system time zone -->
865    <permission android:name="android.permission.SET_TIME_ZONE"
866        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
867        android:protectionLevel="dangerous"
868        android:label="@string/permlab_setTimeZone"
869        android:description="@string/permdesc_setTimeZone" />
870
871    <!-- Allows mounting and unmounting file systems for removable storage. -->
872    <permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"
873        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
874        android:protectionLevel="dangerous"
875        android:label="@string/permlab_mount_unmount_filesystems"
876        android:description="@string/permdesc_mount_unmount_filesystems" />
877
878    <!-- Allows formatting file systems for removable storage. -->
879    <permission android:name="android.permission.MOUNT_FORMAT_FILESYSTEMS"
880        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
881        android:protectionLevel="dangerous"
882        android:label="@string/permlab_mount_format_filesystems"
883        android:description="@string/permdesc_mount_format_filesystems" />
884
885    <!-- Allows access to ASEC non-destructive API calls
886         @hide  -->
887    <permission android:name="android.permission.ASEC_ACCESS"
888        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
889        android:protectionLevel="signature"
890        android:label="@string/permlab_asec_access"
891        android:description="@string/permdesc_asec_access" />
892
893    <!-- Allows creation of ASEC volumes
894         @hide  -->
895    <permission android:name="android.permission.ASEC_CREATE"
896        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
897        android:protectionLevel="signature"
898        android:label="@string/permlab_asec_create"
899        android:description="@string/permdesc_asec_create" />
900
901    <!-- Allows destruction of ASEC volumes
902         @hide  -->
903    <permission android:name="android.permission.ASEC_DESTROY"
904        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
905        android:protectionLevel="signature"
906        android:label="@string/permlab_asec_destroy"
907        android:description="@string/permdesc_asec_destroy" />
908
909    <!-- Allows mount / unmount of ASEC volumes
910         @hide  -->
911    <permission android:name="android.permission.ASEC_MOUNT_UNMOUNT"
912        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
913        android:protectionLevel="signature"
914        android:label="@string/permlab_asec_mount_unmount"
915        android:description="@string/permdesc_asec_mount_unmount" />
916
917    <!-- Allows rename of ASEC volumes
918         @hide  -->
919    <permission android:name="android.permission.ASEC_RENAME"
920        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
921        android:protectionLevel="signature"
922        android:label="@string/permlab_asec_rename"
923        android:description="@string/permdesc_asec_rename" />
924
925    <!-- Allows applications to disable the keyguard -->
926    <permission android:name="android.permission.DISABLE_KEYGUARD"
927        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
928        android:protectionLevel="dangerous"
929        android:description="@string/permdesc_disableKeyguard"
930        android:label="@string/permlab_disableKeyguard" />
931
932    <!-- Allows applications to read the sync settings -->
933    <permission android:name="android.permission.READ_SYNC_SETTINGS"
934        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
935        android:protectionLevel="normal"
936        android:description="@string/permdesc_readSyncSettings"
937        android:label="@string/permlab_readSyncSettings" />
938
939    <!-- Allows applications to write the sync settings -->
940    <permission android:name="android.permission.WRITE_SYNC_SETTINGS"
941        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
942        android:protectionLevel="dangerous"
943        android:description="@string/permdesc_writeSyncSettings"
944        android:label="@string/permlab_writeSyncSettings" />
945
946    <!-- Allows applications to read the sync stats -->
947    <permission android:name="android.permission.READ_SYNC_STATS"
948        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
949        android:protectionLevel="normal"
950        android:description="@string/permdesc_readSyncStats"
951        android:label="@string/permlab_readSyncStats" />
952
953    <!-- Allows applications to write the apn settings -->
954    <permission android:name="android.permission.WRITE_APN_SETTINGS"
955                android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
956                android:protectionLevel="signatureOrSystem"
957                android:description="@string/permdesc_writeApnSettings"
958                android:label="@string/permlab_writeApnSettings" />
959
960    <!-- Allows an application to allow access the subscribed feeds
961         ContentProvider. -->
962    <permission android:name="android.permission.SUBSCRIBED_FEEDS_READ"
963        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
964        android:label="@string/permlab_subscribedFeedsRead"
965        android:description="@string/permdesc_subscribedFeedsRead"
966        android:protectionLevel="normal" />
967    <permission android:name="android.permission.SUBSCRIBED_FEEDS_WRITE"
968        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
969        android:label="@string/permlab_subscribedFeedsWrite"
970        android:description="@string/permdesc_subscribedFeedsWrite"
971        android:protectionLevel="dangerous" />
972
973    <!-- Allows applications to change network connectivity state -->
974    <permission android:name="android.permission.CHANGE_NETWORK_STATE"
975        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
976        android:protectionLevel="dangerous"
977        android:description="@string/permdesc_changeNetworkState"
978        android:label="@string/permlab_changeNetworkState" />
979
980    <!-- Allows applications to change Wi-Fi connectivity state -->
981    <permission android:name="android.permission.CHANGE_WIFI_STATE"
982        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
983        android:protectionLevel="dangerous"
984        android:description="@string/permdesc_changeWifiState"
985        android:label="@string/permlab_changeWifiState" />
986
987    <!-- Allows applications to enter Wi-Fi Multicast mode -->
988    <permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE"
989        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
990        android:protectionLevel="dangerous"
991        android:description="@string/permdesc_changeWifiMulticastState"
992        android:label="@string/permlab_changeWifiMulticastState" />
993
994    <!-- Allows applications to discover and pair bluetooth devices -->
995    <permission android:name="android.permission.BLUETOOTH_ADMIN"
996        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
997        android:protectionLevel="dangerous"
998        android:description="@string/permdesc_bluetoothAdmin"
999        android:label="@string/permlab_bluetoothAdmin" />
1000
1001    <!-- Allows an application to clear the caches of all installed
1002         applications on the device.  -->
1003    <permission android:name="android.permission.CLEAR_APP_CACHE"
1004        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1005        android:protectionLevel="dangerous"
1006        android:label="@string/permlab_clearAppCache"
1007        android:description="@string/permdesc_clearAppCache" />
1008
1009    <!-- Allows an application to read the low-level system log files.
1010         Log entries can contain the user's private information,
1011         which is why this permission is 'dangerous'. -->
1012    <permission android:name="android.permission.READ_LOGS"
1013        android:permissionGroup="android.permission-group.PERSONAL_INFO"
1014        android:protectionLevel="dangerous"
1015        android:label="@string/permlab_readLogs"
1016        android:description="@string/permdesc_readLogs" />
1017
1018    <!-- ========================================= -->
1019    <!-- Permissions for special development tools -->
1020    <!-- ========================================= -->
1021    <eat-comment />
1022
1023    <!-- Group of permissions that are related to development features.  These
1024         are not permissions that should appear in normal applications; they
1025         protect APIs that are intended only to be used for development
1026         purposes. -->
1027    <permission-group android:name="android.permission-group.DEVELOPMENT_TOOLS"
1028        android:label="@string/permgrouplab_developmentTools"
1029        android:description="@string/permgroupdesc_developmentTools" />
1030
1031    <!-- Configure an application for debugging. -->
1032    <permission android:name="android.permission.SET_DEBUG_APP"
1033        android:permissionGroup="android.permission-group.DEVELOPMENT_TOOLS"
1034        android:protectionLevel="dangerous"
1035        android:label="@string/permlab_setDebugApp"
1036        android:description="@string/permdesc_setDebugApp" />
1037
1038    <!-- Allows an application to set the maximum number of (not needed)
1039         application processes that can be running. -->
1040    <permission android:name="android.permission.SET_PROCESS_LIMIT"
1041        android:permissionGroup="android.permission-group.DEVELOPMENT_TOOLS"
1042        android:protectionLevel="dangerous"
1043        android:label="@string/permlab_setProcessLimit"
1044        android:description="@string/permdesc_setProcessLimit" />
1045
1046    <!-- Allows an application to control whether activities are immediately
1047         finished when put in the background. -->
1048    <permission android:name="android.permission.SET_ALWAYS_FINISH"
1049        android:permissionGroup="android.permission-group.DEVELOPMENT_TOOLS"
1050        android:protectionLevel="dangerous"
1051        android:label="@string/permlab_setAlwaysFinish"
1052        android:description="@string/permdesc_setAlwaysFinish" />
1053
1054    <!-- Allow an application to request that a signal be sent to all persistent processes -->
1055    <permission android:name="android.permission.SIGNAL_PERSISTENT_PROCESSES"
1056        android:permissionGroup="android.permission-group.DEVELOPMENT_TOOLS"
1057        android:protectionLevel="dangerous"
1058        android:label="@string/permlab_signalPersistentProcesses"
1059        android:description="@string/permdesc_signalPersistentProcesses" />
1060
1061    <!-- ==================================== -->
1062    <!-- Private (signature-only) permissions -->
1063    <!-- ==================================== -->
1064    <eat-comment />
1065
1066    <!-- Allows applications to RW to diagnostic resources. -->
1067    <permission android:name="android.permission.DIAGNOSTIC"
1068        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1069        android:protectionLevel="signature"
1070        android:description="@string/permdesc_diagnostic"
1071        android:label="@string/permlab_diagnostic" />
1072
1073    <!-- Allows an application to open, close, or disable the status bar
1074         and its icons. -->
1075    <permission android:name="android.permission.STATUS_BAR"
1076        android:label="@string/permlab_statusBar"
1077        android:description="@string/permdesc_statusBar"
1078        android:protectionLevel="signatureOrSystem" />
1079
1080    <!-- Allows an application to be the status bar.  Currently used only by SystemUI.apk
1081    @hide -->
1082    <permission android:name="android.permission.STATUS_BAR_SERVICE"
1083        android:label="@string/permlab_statusBarService"
1084        android:description="@string/permdesc_statusBarService"
1085        android:protectionLevel="signature" />
1086
1087    <!-- Allows an application to force a BACK operation on whatever is the
1088         top activity. -->
1089    <permission android:name="android.permission.FORCE_BACK"
1090        android:label="@string/permlab_forceBack"
1091        android:description="@string/permdesc_forceBack"
1092        android:protectionLevel="signature" />
1093
1094    <!-- Allows an application to update device statistics. Not for
1095         use by third party apps. -->
1096    <permission android:name="android.permission.UPDATE_DEVICE_STATS"
1097        android:label="@string/permlab_batteryStats"
1098        android:description="@string/permdesc_batteryStats"
1099        android:protectionLevel="signatureOrSystem" />
1100
1101    <!-- Allows an application to open windows that are for use by parts
1102         of the system user interface.  Not for use by third party apps. -->
1103    <permission android:name="android.permission.INTERNAL_SYSTEM_WINDOW"
1104        android:label="@string/permlab_internalSystemWindow"
1105        android:description="@string/permdesc_internalSystemWindow"
1106        android:protectionLevel="signature" />
1107
1108    <!-- Allows an application to manage (create, destroy,
1109         Z-order) application tokens in the window manager.  This is only
1110         for use by the system. -->
1111    <permission android:name="android.permission.MANAGE_APP_TOKENS"
1112        android:label="@string/permlab_manageAppTokens"
1113        android:description="@string/permdesc_manageAppTokens"
1114        android:protectionLevel="signature" />
1115
1116    <!-- Allows an application to inject user events (keys, touch, trackball)
1117         into the event stream and deliver them to ANY window.  Without this
1118         permission, you can only deliver events to windows in your own process.
1119         Very few applications should need to use this permission. -->
1120    <permission android:name="android.permission.INJECT_EVENTS"
1121        android:label="@string/permlab_injectEvents"
1122        android:description="@string/permdesc_injectEvents"
1123        android:protectionLevel="signature" />
1124
1125    <!-- Allows an application to watch and control how activities are
1126         started globally in the system.  Only for is in debugging
1127         (usually the monkey command). -->
1128    <permission android:name="android.permission.SET_ACTIVITY_WATCHER"
1129        android:label="@string/permlab_runSetActivityWatcher"
1130        android:description="@string/permdesc_runSetActivityWatcher"
1131        android:protectionLevel="signature" />
1132
1133    <!-- Allows an application to call the activity manager shutdown() API
1134         to put the higher-level system there into a shutdown state.
1135         @hide -->
1136    <permission android:name="android.permission.SHUTDOWN"
1137        android:label="@string/permlab_shutdown"
1138        android:description="@string/permdesc_shutdown"
1139        android:protectionLevel="signatureOrSystem" />
1140
1141    <!-- Allows an application to tell the activity manager to temporarily
1142         stop application switches, putting it into a special mode that
1143         prevents applications from immediately switching away from some
1144         critical UI such as the home screen.
1145         @hide -->
1146    <permission android:name="android.permission.STOP_APP_SWITCHES"
1147        android:label="@string/permlab_stopAppSwitches"
1148        android:description="@string/permdesc_stopAppSwitches"
1149        android:protectionLevel="signatureOrSystem" />
1150
1151    <!-- Allows an application to retrieve the current state of keys and
1152         switches.  This is only for use by the system.-->
1153    <permission android:name="android.permission.READ_INPUT_STATE"
1154        android:label="@string/permlab_readInputState"
1155        android:description="@string/permdesc_readInputState"
1156        android:protectionLevel="signature" />
1157
1158    <!-- Must be required by an {@link android.inputmethodservice.InputMethodService},
1159         to ensure that only the system can bind to it. -->
1160    <permission android:name="android.permission.BIND_INPUT_METHOD"
1161        android:label="@string/permlab_bindInputMethod"
1162        android:description="@string/permdesc_bindInputMethod"
1163        android:protectionLevel="signature" />
1164
1165    <!-- Must be required by a TextService (e.g. SpellCheckerService)
1166         to ensure that only the system can bind to it. -->
1167    <permission android:name="android.permission.BIND_TEXT_SERVICE"
1168        android:label="@string/permlab_bindTextService"
1169        android:description="@string/permdesc_bindTextService"
1170        android:protectionLevel="signature" />
1171
1172    <!-- Must be required by an {@link android.net.VpnService},
1173         to ensure that only the system can bind to it. -->
1174    <permission android:name="android.permission.BIND_VPN_SERVICE"
1175        android:label="@string/permlab_bindVpnService"
1176        android:description="@string/permdesc_bindVpnService"
1177        android:protectionLevel="signature" />
1178
1179    <!-- Must be required by a {@link android.service.wallpaper.WallpaperService},
1180         to ensure that only the system can bind to it. -->
1181    <permission android:name="android.permission.BIND_WALLPAPER"
1182        android:label="@string/permlab_bindWallpaper"
1183        android:description="@string/permdesc_bindWallpaper"
1184        android:protectionLevel="signatureOrSystem" />
1185
1186    <!-- Must be required by device administration receiver, to ensure that only the
1187         system can interact with it. -->
1188    <permission android:name="android.permission.BIND_DEVICE_ADMIN"
1189        android:label="@string/permlab_bindDeviceAdmin"
1190        android:description="@string/permdesc_bindDeviceAdmin"
1191        android:protectionLevel="signature" />
1192
1193    <!-- Allows low-level access to setting the orientation (actually
1194         rotation) of the screen.  Not for use by normal applications. -->
1195    <permission android:name="android.permission.SET_ORIENTATION"
1196        android:label="@string/permlab_setOrientation"
1197        android:description="@string/permdesc_setOrientation"
1198        android:protectionLevel="signature" />
1199
1200    <!-- Allows low-level access to setting the pointer speed.
1201         Not for use by normal applications. -->
1202    <permission android:name="android.permission.SET_POINTER_SPEED"
1203        android:label="@string/permlab_setPointerSpeed"
1204        android:description="@string/permdesc_setPointerSpeed"
1205        android:protectionLevel="signature" />
1206
1207    <!-- Allows an application to install packages. -->
1208    <permission android:name="android.permission.INSTALL_PACKAGES"
1209        android:label="@string/permlab_installPackages"
1210        android:description="@string/permdesc_installPackages"
1211        android:protectionLevel="signatureOrSystem" />
1212
1213    <!-- Allows an application to clear user data -->
1214    <permission android:name="android.permission.CLEAR_APP_USER_DATA"
1215        android:label="@string/permlab_clearAppUserData"
1216        android:description="@string/permdesc_clearAppUserData"
1217        android:protectionLevel="signature" />
1218
1219    <!-- Allows an application to delete cache files. -->
1220    <permission android:name="android.permission.DELETE_CACHE_FILES"
1221        android:label="@string/permlab_deleteCacheFiles"
1222        android:description="@string/permdesc_deleteCacheFiles"
1223        android:protectionLevel="signatureOrSystem" />
1224
1225    <!-- Allows an application to delete packages. -->
1226    <permission android:name="android.permission.DELETE_PACKAGES"
1227        android:label="@string/permlab_deletePackages"
1228        android:description="@string/permdesc_deletePackages"
1229        android:protectionLevel="signatureOrSystem" />
1230
1231    <!-- Allows an application to move location of installed package.
1232         @hide -->
1233    <permission android:name="android.permission.MOVE_PACKAGE"
1234        android:label="@string/permlab_movePackage"
1235        android:description="@string/permdesc_movePackage"
1236        android:protectionLevel="signatureOrSystem" />
1237
1238    <!-- Allows an application to change whether an application component (other than its own) is
1239         enabled or not. -->
1240    <permission android:name="android.permission.CHANGE_COMPONENT_ENABLED_STATE"
1241        android:label="@string/permlab_changeComponentState"
1242        android:description="@string/permdesc_changeComponentState"
1243        android:protectionLevel="signatureOrSystem" />
1244
1245    <!-- Allows an application to use SurfaceFlinger's low level features -->
1246    <permission android:name="android.permission.ACCESS_SURFACE_FLINGER"
1247        android:label="@string/permlab_accessSurfaceFlinger"
1248        android:description="@string/permdesc_accessSurfaceFlinger"
1249        android:protectionLevel="signature" />
1250
1251    <!-- Allows an application to take screen shots and more generally
1252         get access to the frame buffer data -->
1253    <permission android:name="android.permission.READ_FRAME_BUFFER"
1254        android:label="@string/permlab_readFrameBuffer"
1255        android:description="@string/permdesc_readFrameBuffer"
1256        android:protectionLevel="signatureOrSystem" />
1257
1258    <!-- Required to be able to disable the device (very dangerous!). -->
1259    <permission android:name="android.permission.BRICK"
1260        android:label="@string/permlab_brick"
1261        android:description="@string/permdesc_brick"
1262        android:protectionLevel="signature" />
1263
1264    <!-- Required to be able to reboot the device. -->
1265    <permission android:name="android.permission.REBOOT"
1266        android:label="@string/permlab_reboot"
1267        android:description="@string/permdesc_reboot"
1268        android:protectionLevel="signatureOrSystem" />
1269
1270   <!-- Allows low-level access to power management -->
1271    <permission android:name="android.permission.DEVICE_POWER"
1272        android:label="@string/permlab_devicePower"
1273        android:description="@string/permdesc_devicePower"
1274        android:protectionLevel="signature" />
1275
1276    <!-- Run as a manufacturer test application, running as the root user.
1277         Only available when the device is running in manufacturer test mode. -->
1278    <permission android:name="android.permission.FACTORY_TEST"
1279        android:label="@string/permlab_factoryTest"
1280        android:description="@string/permdesc_factoryTest"
1281        android:protectionLevel="signature" />
1282
1283    <!-- Allows an application to broadcast a notification that an application
1284         package has been removed. -->
1285    <permission android:name="android.permission.BROADCAST_PACKAGE_REMOVED"
1286        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1287        android:label="@string/permlab_broadcastPackageRemoved"
1288        android:description="@string/permdesc_broadcastPackageRemoved"
1289        android:protectionLevel="signature" />
1290
1291    <!-- Allows an application to broadcast an SMS receipt notification -->
1292    <permission android:name="android.permission.BROADCAST_SMS"
1293        android:permissionGroup="android.permission-group.MESSAGES"
1294        android:label="@string/permlab_broadcastSmsReceived"
1295        android:description="@string/permdesc_broadcastSmsReceived"
1296        android:protectionLevel="signature" />
1297
1298    <!-- Allows an application to broadcast a WAP PUSH receipt notification -->
1299    <permission android:name="android.permission.BROADCAST_WAP_PUSH"
1300        android:permissionGroup="android.permission-group.MESSAGES"
1301        android:label="@string/permlab_broadcastWapPush"
1302        android:description="@string/permdesc_broadcastWapPush"
1303        android:protectionLevel="signature" />
1304
1305    <permission android:name="android.permission.MASTER_CLEAR"
1306        android:label="@string/permlab_masterClear"
1307        android:description="@string/permdesc_masterClear"
1308        android:protectionLevel="signatureOrSystem" />
1309
1310    <!-- Allows an application to call any phone number, including emergency
1311         numbers, without going through the Dialer user interface for the user
1312         to confirm the call being placed. -->
1313    <permission android:name="android.permission.CALL_PRIVILEGED"
1314        android:label="@string/permlab_callPrivileged"
1315        android:description="@string/permdesc_callPrivileged"
1316        android:protectionLevel="signatureOrSystem" />
1317
1318    <!-- Allows an application to perform CDMA OTA provisioning @hide -->
1319    <permission android:name="android.permission.PERFORM_CDMA_PROVISIONING"
1320        android:label="@string/permlab_performCdmaProvisioning"
1321        android:description="@string/permdesc_performCdmaProvisioning"
1322        android:protectionLevel="signatureOrSystem" />
1323
1324    <!-- Allows enabling/disabling location update notifications from
1325         the radio. Not for use by normal applications. -->
1326    <permission android:name="android.permission.CONTROL_LOCATION_UPDATES"
1327        android:label="@string/permlab_locationUpdates"
1328        android:description="@string/permdesc_locationUpdates"
1329        android:protectionLevel="signatureOrSystem" />
1330
1331    <!-- Allows read/write access to the "properties" table in the checkin
1332         database, to change values that get uploaded. -->
1333    <permission android:name="android.permission.ACCESS_CHECKIN_PROPERTIES"
1334        android:label="@string/permlab_checkinProperties"
1335        android:description="@string/permdesc_checkinProperties"
1336        android:protectionLevel="signatureOrSystem" />
1337
1338    <!-- Allows an application to collect component usage
1339         statistics @hide -->
1340    <permission android:name="android.permission.PACKAGE_USAGE_STATS"
1341        android:label="@string/permlab_pkgUsageStats"
1342        android:description="@string/permdesc_pkgUsageStats"
1343        android:protectionLevel="signatureOrSystem" />
1344
1345    <!-- Allows an application to collect battery statistics -->
1346    <permission android:name="android.permission.BATTERY_STATS"
1347        android:label="@string/permlab_batteryStats"
1348        android:description="@string/permdesc_batteryStats"
1349        android:protectionLevel="normal" />
1350
1351    <!-- Allows an application to control the backup and restore process
1352         @hide pending API council -->
1353    <permission android:name="android.permission.BACKUP"
1354        android:label="@string/permlab_backup"
1355        android:description="@string/permdesc_backup"
1356        android:protectionLevel="signatureOrSystem" />
1357
1358    <!-- Allows a package to launch the secure full-backup confirmation UI.
1359         ONLY the system process may hold this permission.
1360         @hide -->
1361    <permission android:name="android.permission.CONFIRM_FULL_BACKUP"
1362        android:label="@string/permlab_confirm_full_backup"
1363        android:description="@string/permdesc_confirm_full_backup"
1364        android:protectionLevel="signature" />
1365
1366    <!-- Must be required by a {@link android.widget.RemoteViewsService},
1367         to ensure that only the system can bind to it. -->
1368    <permission android:name="android.permission.BIND_REMOTEVIEWS"
1369        android:label="@string/permlab_bindRemoteViews"
1370        android:description="@string/permdesc_bindRemoteViews"
1371        android:protectionLevel="signatureOrSystem" />
1372
1373    <!-- Allows an application to tell the AppWidget service which application
1374         can access AppWidget's data.  The normal user flow is that a user
1375         picks an AppWidget to go into a particular host, thereby giving that
1376         host application access to the private data from the AppWidget app.
1377         An application that has this permission should honor that contract.
1378         Very few applications should need to use this permission. -->
1379    <permission android:name="android.permission.BIND_APPWIDGET"
1380        android:permissionGroup="android.permission-group.PERSONAL_INFO"
1381        android:label="@string/permlab_bindGadget"
1382        android:description="@string/permdesc_bindGadget"
1383        android:protectionLevel="signatureOrSystem" />
1384
1385    <!-- Allows applications to change the background data setting
1386         @hide pending API council -->
1387    <permission android:name="android.permission.CHANGE_BACKGROUND_DATA_SETTING"
1388        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1389        android:protectionLevel="signature"
1390        android:description="@string/permdesc_changeBackgroundDataSetting"
1391        android:label="@string/permlab_changeBackgroundDataSetting" />
1392
1393    <!-- This permission can be used on content providers to allow the global
1394         search system to access their data.  Typically it used when the
1395         provider has some permissions protecting it (which global search
1396         would not be expected to hold), and added as a read-only permission
1397         to the path in the provider where global search queries are
1398         performed.  This permission can not be held by regular applications;
1399         it is used by applications to protect themselves from everyone else
1400         besides global search. -->
1401    <permission android:name="android.permission.GLOBAL_SEARCH"
1402        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1403        android:protectionLevel="signatureOrSystem" />
1404
1405    <!-- Internal permission protecting access to the global search
1406         system: ensures that only the system can access the provider
1407         to perform queries (since this otherwise provides unrestricted
1408         access to a variety of content providers), and to write the
1409         search statistics (to keep applications from gaming the source
1410         ranking).
1411         @hide -->
1412    <permission android:name="android.permission.GLOBAL_SEARCH_CONTROL"
1413        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1414        android:protectionLevel="signature" />
1415
1416    <!-- Allows applications to set a live wallpaper.
1417         @hide XXX Change to signature once the picker is moved to its
1418         own apk as Ghod Intended. -->
1419    <permission android:name="android.permission.SET_WALLPAPER_COMPONENT"
1420        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
1421        android:protectionLevel="signatureOrSystem" />
1422
1423    <!-- Allow an application to read and write the cache partition.
1424         @hide -->
1425    <permission android:name="android.permission.ACCESS_CACHE_FILESYSTEM"
1426        android:label="@string/permlab_cache_filesystem"
1427        android:description="@string/permdesc_cache_filesystem"
1428        android:protectionLevel="signatureOrSystem" />
1429
1430    <!-- Must be required by default container service so that only
1431         the system can bind to it and use it to copy
1432         protected data to secure containers or files
1433         accessible to the system.
1434         @hide -->
1435    <permission android:name="android.permission.COPY_PROTECTED_DATA"
1436        android:label="@string/permlab_copyProtectedData"
1437        android:description="@string/permlab_copyProtectedData"
1438        android:protectionLevel="signature" />
1439
1440    <!-- Internal permission protecting access to the encryption methods
1441        @hide
1442    -->
1443    <permission android:name="android.permission.CRYPT_KEEPER"
1444        android:protectionLevel="signatureOrSystem" />
1445
1446    <!-- Allows an application to read historical network usage for
1447         specific networks and applications. @hide -->
1448    <permission android:name="android.permission.READ_NETWORK_USAGE_HISTORY"
1449        android:label="@string/permlab_readNetworkUsageHistory"
1450        android:description="@string/permdesc_readNetworkUsageHistory"
1451        android:protectionLevel="signatureOrSystem" />
1452
1453    <!-- Allows an application to manage network policies (such as warning and disable
1454         limits) and to define application-specific rules. @hide -->
1455    <permission android:name="android.permission.MANAGE_NETWORK_POLICY"
1456        android:label="@string/permlab_manageNetworkPolicy"
1457        android:description="@string/permdesc_manageNetworkPolicy"
1458        android:protectionLevel="signature" />
1459
1460    <!-- Allows an application to account its network traffic against other UIDs. Used
1461         by system services like download manager and media server. Not for use by
1462         third party apps. @hide -->
1463    <permission android:name="android.permission.MODIFY_NETWORK_ACCOUNTING"
1464        android:label="@string/permlab_modifyNetworkAccounting"
1465        android:description="@string/permdesc_modifyNetworkAccounting"
1466        android:protectionLevel="signatureOrSystem" />
1467
1468    <!-- C2DM permission.
1469         @hide Used internally.
1470     -->
1471    <permission android:name="android.intent.category.MASTER_CLEAR.permission.C2D_MESSAGE"
1472          android:protectionLevel="signature" />
1473    <uses-permission android:name="android.intent.category.MASTER_CLEAR.permission.C2D_MESSAGE"/>
1474
1475    <!-- Package verifier needs to have this permission before the PackageManager will
1476         trust it to verify packages.
1477         @hide
1478    -->
1479    <permission android:name="android.permission.PACKAGE_VERIFICATION_AGENT"
1480        android:label="@string/permlab_packageVerificationAgent"
1481        android:description="@string/permdesc_packageVerificationAgent"
1482        android:protectionLevel="signatureOrSystem" />
1483
1484    <!-- Must be required by package verifier receiver, to ensure that only the
1485         system can interact with it.
1486         @hide
1487    -->
1488    <permission android:name="android.permission.BIND_PACKAGE_VERIFIER"
1489        android:label="@string/permlab_bindPackageVerifier"
1490        android:description="@string/permdesc_bindPackageVerifier"
1491        android:protectionLevel="signature" />
1492
1493    <!-- The system process is explicitly the only one allowed to launch the
1494         confirmation UI for full backup/restore -->
1495    <uses-permission android:name="android.permission.CONFIRM_FULL_BACKUP"/>
1496
1497    <application android:process="system"
1498                 android:persistent="true"
1499                 android:hasCode="false"
1500                 android:label="@string/android_system_label"
1501                 android:allowClearUserData="false"
1502                 android:backupAgent="com.android.server.SystemBackupAgent"
1503                 android:killAfterRestore="false"
1504                 android:icon="@drawable/ic_launcher_android">
1505        <activity android:name="com.android.internal.app.ChooserActivity"
1506                android:theme="@style/Theme.Holo.Dialog.Alert"
1507                android:finishOnCloseSystemDialogs="true"
1508                android:excludeFromRecents="true"
1509                android:multiprocess="true">
1510            <intent-filter>
1511                <action android:name="android.intent.action.CHOOSER" />
1512                <category android:name="android.intent.category.DEFAULT" />
1513            </intent-filter>
1514        </activity>
1515        <activity android:name="com.android.internal.app.HeavyWeightSwitcherActivity"
1516                android:theme="@style/Theme.Holo.Dialog"
1517                android:label="@string/heavy_weight_switcher_title"
1518                android:finishOnCloseSystemDialogs="true"
1519                android:excludeFromRecents="true"
1520                android:process=":ui">
1521        </activity>
1522        <activity android:name="com.android.internal.app.PlatLogoActivity"
1523                android:theme="@style/Theme.Wallpaper.NoTitleBar.Fullscreen"
1524                android:process=":ui">
1525        </activity>
1526        <activity android:name="com.android.internal.app.DisableCarModeActivity"
1527                android:theme="@style/Theme.NoDisplay"
1528                android:excludeFromRecents="true"
1529                android:process=":ui">
1530        </activity>
1531        <activity android:name="com.android.internal.app.RingtonePickerActivity"
1532                android:theme="@style/Theme.Holo.Dialog.Alert"
1533                android:excludeFromRecents="true"
1534                android:multiprocess="true"
1535                android:process=":ui">
1536            <intent-filter>
1537                <action android:name="android.intent.action.RINGTONE_PICKER" />
1538                <category android:name="android.intent.category.DEFAULT" />
1539            </intent-filter>
1540        </activity>
1541
1542        <activity android:name="android.accounts.ChooseAccountActivity"
1543                android:excludeFromRecents="true"
1544                android:exported="true"
1545                android:theme="@android:style/Theme.Holo.Dialog"
1546                android:label="@string/choose_account_label"
1547                android:process=":ui">
1548        </activity>
1549
1550        <activity android:name="android.accounts.ChooseTypeAndAccountActivity"
1551                android:excludeFromRecents="true"
1552                android:exported="true"
1553                android:theme="@android:style/Theme.Holo.DialogWhenLarge.NoActionBar"
1554                android:label="@string/choose_account_label"
1555                android:process=":ui">
1556        </activity>
1557
1558        <activity android:name="android.accounts.ChooseAccountTypeActivity"
1559                android:excludeFromRecents="true"
1560                android:theme="@android:style/Theme.Holo.DialogWhenLarge.NoActionBar"
1561                android:label="@string/choose_account_label"
1562                android:process=":ui">
1563        </activity>
1564
1565        <activity android:name="android.accounts.GrantCredentialsPermissionActivity"
1566                android:excludeFromRecents="true"
1567                android:exported="true"
1568                android:theme="@android:style/Theme.Holo.DialogWhenLarge"
1569                android:process=":ui">
1570        </activity>
1571
1572        <activity android:name="android.content.SyncActivityTooManyDeletes"
1573               android:theme="@android:style/Theme.Holo.Dialog"
1574               android:label="@string/sync_too_many_deletes"
1575               android:process=":ui">
1576        </activity>
1577
1578        <activity android:name="com.android.server.ShutdownActivity"
1579            android:permission="android.permission.SHUTDOWN"
1580            android:excludeFromRecents="true">
1581            <intent-filter>
1582                <action android:name="android.intent.action.ACTION_REQUEST_SHUTDOWN" />
1583                <category android:name="android.intent.category.DEFAULT" />
1584            </intent-filter>
1585            <intent-filter>
1586                <action android:name="android.intent.action.REBOOT" />
1587                <category android:name="android.intent.category.DEFAULT" />
1588            </intent-filter>
1589        </activity>
1590
1591        <activity android:name="com.android.internal.app.NetInitiatedActivity"
1592                android:theme="@style/Theme.Holo.Dialog.Alert"
1593                android:excludeFromRecents="true"
1594                android:process=":ui">
1595        </activity>
1596
1597        <receiver android:name="com.android.server.BootReceiver" >
1598            <intent-filter>
1599                <action android:name="android.intent.action.BOOT_COMPLETED" />
1600            </intent-filter>
1601        </receiver>
1602
1603        <receiver android:name="com.android.server.MasterClearReceiver"
1604            android:permission="android.permission.MASTER_CLEAR"
1605            android:priority="100" >
1606            <intent-filter>
1607                <!-- For Checkin, Settings, etc.: action=MASTER_CLEAR -->
1608                <action android:name="android.intent.action.MASTER_CLEAR" />
1609
1610                <!-- MCS always uses REMOTE_INTENT: category=MASTER_CLEAR -->
1611                <action android:name="com.google.android.c2dm.intent.RECEIVE" />
1612                <category android:name="android.intent.category.MASTER_CLEAR" />
1613            </intent-filter>
1614        </receiver>
1615
1616        <service android:name="com.android.internal.os.storage.ExternalStorageFormatter"
1617            android:permission="android.permission.MASTER_CLEAR"
1618            android:exported="true" />
1619
1620    </application>
1621
1622</manifest>
1623