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