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