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