AndroidManifest.xml revision d24b8183b93e781080b2c16c487e60d51c12da31
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
23    <!-- ====================================== -->
24    <!-- Permissions for things that cost money -->
25    <!-- ====================================== -->
26    <eat-comment />
27    
28    <!-- Used for permissions that can be used to make the user spend money
29         without their direct involvement.  For example, this is the group
30         for permissions that allow you to directly place phone calls,
31         directly send SMS messages, etc. -->
32    <permission-group android:name="android.permission-group.COST_MONEY"
33        android:label="@string/permgrouplab_costMoney"
34        android:description="@string/permgroupdesc_costMoney" />
35
36    <!-- Allows an application to send SMS messages. -->
37    <permission android:name="android.permission.SEND_SMS"
38        android:permissionGroup="android.permission-group.COST_MONEY"
39        android:protectionLevel="dangerous"
40        android:label="@string/permlab_sendSms"
41        android:description="@string/permdesc_sendSms" />
42
43    <!-- Allows an application to initiate a phone call without going through
44         the Dialer user interface for the user to confirm the call
45         being placed. -->
46    <permission android:name="android.permission.CALL_PHONE"
47        android:permissionGroup="android.permission-group.COST_MONEY"
48        android:protectionLevel="dangerous"
49        android:label="@string/permlab_callPhone"
50        android:description="@string/permdesc_callPhone" />
51
52    <!-- ================================== -->
53    <!-- Permissions for accessing messages -->
54    <!-- ================================== -->
55    <eat-comment />
56    
57    <!-- Used for permissions that allow an application to send messages
58         on behalf of the user or intercept messages being received by the
59         user.  This is primarily intended for SMS/MMS messaging, such as
60         receiving or reading an MMS. -->
61    <permission-group android:name="android.permission-group.MESSAGES"
62        android:label="@string/permgrouplab_messages"
63        android:description="@string/permgroupdesc_messages" />
64
65    <!-- Allows an application to monitor incoming SMS messages, to record
66         or perform processing on them. -->
67    <permission android:name="android.permission.RECEIVE_SMS"
68        android:permissionGroup="android.permission-group.MESSAGES"
69        android:protectionLevel="dangerous"
70        android:label="@string/permlab_receiveSms"
71        android:description="@string/permdesc_receiveSms" />
72
73    <!-- Allows an application to monitor incoming MMS messages, to record
74         or perform processing on them. -->
75    <permission android:name="android.permission.RECEIVE_MMS"
76        android:permissionGroup="android.permission-group.MESSAGES"
77        android:protectionLevel="dangerous"
78        android:label="@string/permlab_receiveMms"
79        android:description="@string/permdesc_receiveMms" />
80
81    <!-- Allows an application to read SMS messages. -->
82    <permission android:name="android.permission.READ_SMS"
83        android:permissionGroup="android.permission-group.MESSAGES"
84        android:protectionLevel="dangerous"
85        android:label="@string/permlab_readSms"
86        android:description="@string/permdesc_readSms" />
87
88    <!-- Allows an application to write SMS messages. -->
89    <permission android:name="android.permission.WRITE_SMS"
90        android:permissionGroup="android.permission-group.MESSAGES"
91        android:protectionLevel="dangerous"
92        android:label="@string/permlab_writeSms"
93        android:description="@string/permdesc_writeSms" />
94
95    <!-- Allows an application to monitor incoming WAP push messages. -->
96    <permission android:name="android.permission.RECEIVE_WAP_PUSH"
97        android:permissionGroup="android.permission-group.MESSAGES"
98        android:protectionLevel="dangerous"
99        android:label="@string/permlab_receiveWapPush"
100        android:description="@string/permdesc_receiveWapPush" />
101
102    <!-- =============================================================== -->
103    <!-- Permissions for accessing personal info (contacts and calendar) -->
104    <!-- =============================================================== -->
105    <eat-comment />
106    
107    <!-- Used for permissions that provide access to the user's private data,
108         such as contacts, calendar events, e-mail messages, etc.  This includes
109         both reading and writing of this data (which should generally be
110         expressed as two distinct permissions). -->
111    <permission-group android:name="android.permission-group.PERSONAL_INFO"
112        android:label="@string/permgrouplab_personalInfo"
113        android:description="@string/permgroupdesc_personalInfo" />
114
115    <!-- Allows an application to read the user's contacts data. -->
116    <permission android:name="android.permission.READ_CONTACTS"
117        android:permissionGroup="android.permission-group.PERSONAL_INFO"
118        android:protectionLevel="dangerous"
119        android:label="@string/permlab_readContacts"
120        android:description="@string/permdesc_readContacts" />
121
122    <!-- Allows an application to write (but not read) the user's
123         contacts data. -->
124    <permission android:name="android.permission.WRITE_CONTACTS"
125        android:permissionGroup="android.permission-group.PERSONAL_INFO"
126        android:protectionLevel="dangerous"
127        android:label="@string/permlab_writeContacts"
128        android:description="@string/permdesc_writeContacts" />
129
130    <!-- Allows an application to read the owner's data. -->
131    <permission android:name="android.permission.READ_OWNER_DATA"
132        android:permissionGroup="android.permission-group.PERSONAL_INFO"
133        android:protectionLevel="dangerous"
134        android:label="@string/permlab_readOwnerData"
135        android:description="@string/permdesc_readOwnerData" />
136
137    <!-- Allows an application to write (but not read) the owner's data. -->
138    <permission android:name="android.permission.WRITE_OWNER_DATA"
139        android:permissionGroup="android.permission-group.PERSONAL_INFO"
140        android:protectionLevel="dangerous"
141        android:label="@string/permlab_writeOwnerData"
142        android:description="@string/permdesc_writeOwnerData" />
143
144    <!-- Allows an application to read the user's calendar data. -->
145    <permission android:name="android.permission.READ_CALENDAR"
146        android:permissionGroup="android.permission-group.PERSONAL_INFO"
147        android:protectionLevel="dangerous"
148        android:label="@string/permlab_readCalendar"
149        android:description="@string/permdesc_readCalendar" />
150
151    <!-- Allows an application to write (but not read) the user's
152         calendar data. -->
153    <permission android:name="android.permission.WRITE_CALENDAR"
154        android:permissionGroup="android.permission-group.PERSONAL_INFO"
155        android:protectionLevel="dangerous"
156        android:label="@string/permlab_writeCalendar"
157        android:description="@string/permdesc_writeCalendar" />
158
159    <!-- Allows an application to read the user dictionary. This should
160         really only be required by an IME, or a dictionary editor like 
161         the Settings app. 
162         @hide Pending API council approval -->
163    <permission android:name="android.permission.READ_USER_DICTIONARY"
164        android:permissionGroup="android.permission-group.PERSONAL_INFO"
165        android:protectionLevel="dangerous"
166        android:label="@string/permlab_readDictionary"
167        android:description="@string/permdesc_readDictionary" />
168
169    <!-- Allows an application to write to the user dictionary.
170         @hide Pending API council approval -->
171    <permission android:name="android.permission.WRITE_USER_DICTIONARY"
172        android:permissionGroup="android.permission-group.PERSONAL_INFO"
173        android:protectionLevel="normal"
174        android:label="@string/permlab_writeDictionary"
175        android:description="@string/permdesc_writeDictionary" />
176
177    <!-- ======================================= -->
178    <!-- Permissions for accessing location info -->
179    <!-- ======================================= -->
180    <eat-comment />
181    
182    <!-- Used for permissions that allow access to the user's current
183         location. -->
184    <permission-group android:name="android.permission-group.LOCATION"
185        android:label="@string/permgrouplab_location"
186        android:description="@string/permgroupdesc_location" />
187
188    <!-- Allows an application to access fine (e.g., GPS) location -->
189    <permission android:name="android.permission.ACCESS_FINE_LOCATION"
190        android:permissionGroup="android.permission-group.LOCATION"
191        android:protectionLevel="dangerous"
192        android:label="@string/permlab_accessFineLocation"
193        android:description="@string/permdesc_accessFineLocation" />
194
195    <!-- Allows an application to access coarse (e.g., Cell-ID, WiFi) location -->
196    <permission android:name="android.permission.ACCESS_COARSE_LOCATION"
197        android:permissionGroup="android.permission-group.LOCATION"
198        android:protectionLevel="dangerous"
199        android:label="@string/permlab_accessCoarseLocation"
200        android:description="@string/permdesc_accessCoarseLocation" />
201
202    <!-- Allows an application to create mock location providers for testing -->
203    <permission android:name="android.permission.ACCESS_MOCK_LOCATION"
204        android:permissionGroup="android.permission-group.LOCATION"
205        android:label="@string/permlab_accessMockLocation"
206        android:description="@string/permdesc_accessMockLocation" />
207
208    <!-- Allows an application to access extra location provider commands -->
209    <permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"
210        android:permissionGroup="android.permission-group.LOCATION"
211        android:label="@string/permlab_accessLocationExtraCommands"
212        android:description="@string/permdesc_accessLocationExtraCommands" />
213
214    <!-- ======================================= -->
215    <!-- Permissions for accessing networks -->
216    <!-- ======================================= -->
217    <eat-comment />
218    
219    <!-- Used for permissions that provide access to networking services.  The
220         main permission here is internet access, but this is also an
221         appropriate group for accessing or modifying any network configuration
222         or other related network operations. -->
223    <permission-group android:name="android.permission-group.NETWORK"
224        android:label="@string/permgrouplab_network"
225        android:description="@string/permgroupdesc_network" />
226
227    <!-- Allows applications to open network sockets. -->
228    <permission android:name="android.permission.INTERNET"
229        android:permissionGroup="android.permission-group.NETWORK"
230        android:protectionLevel="dangerous"
231        android:description="@string/permdesc_createNetworkSockets"
232        android:label="@string/permlab_createNetworkSockets" />
233
234    <!-- Allows applications to access information about networks -->
235    <permission android:name="android.permission.ACCESS_NETWORK_STATE"
236        android:permissionGroup="android.permission-group.NETWORK"
237        android:protectionLevel="normal"
238        android:description="@string/permdesc_accessNetworkState"
239        android:label="@string/permlab_accessNetworkState" />
240
241    <!-- Allows applications to access information about Wi-Fi networks -->
242    <permission android:name="android.permission.ACCESS_WIFI_STATE"
243        android:permissionGroup="android.permission-group.NETWORK"
244        android:protectionLevel="normal"
245        android:description="@string/permdesc_accessWifiState"
246        android:label="@string/permlab_accessWifiState" />
247
248    <!-- Allows applications to connect to paired bluetooth devices -->
249    <permission android:name="android.permission.BLUETOOTH"
250        android:permissionGroup="android.permission-group.NETWORK"
251        android:protectionLevel="dangerous"
252        android:description="@string/permdesc_bluetooth"
253        android:label="@string/permlab_bluetooth" />
254
255    <!-- ================================== -->
256    <!-- Permissions for accessing accounts -->
257    <!-- ================================== -->
258    <eat-comment />
259    
260    <!-- Permissions for direct access to Google accounts.
261         Note that while right now this is only used for Google accounts,
262         we expect in the future to have a more general account management
263         facility so this is specified as a general platform permission
264         group for accessing accounts. -->
265    <permission-group android:name="android.permission-group.ACCOUNTS"
266        android:label="@string/permgrouplab_accounts"
267        android:description="@string/permgroupdesc_accounts" />
268
269    <!-- Allows access to the list of accounts in the Accounts Service -->
270    <permission android:name="android.permission.GET_ACCOUNTS"
271        android:permissionGroup="android.permission-group.ACCOUNTS"
272        android:protectionLevel="normal"
273        android:description="@string/permdesc_getAccounts"
274        android:label="@string/permlab_getAccounts" />
275
276    <!-- ================================== -->
277    <!-- Permissions for accessing hardware -->
278    <!-- ================================== -->
279    <eat-comment />
280    
281    <!-- Used for permissions that provide direct access to the hardware on
282         the device.  This includes audio, the camera, vibrator, etc. -->
283    <permission-group android:name="android.permission-group.HARDWARE_CONTROLS"
284        android:label="@string/permgrouplab_hardwareControls"
285        android:description="@string/permgroupdesc_hardwareControls" />
286
287    <!-- Allows an application to modify global audio settings -->
288    <permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"
289        android:permissionGroup="android.permission-group.HARDWARE_CONTROLS"
290        android:protectionLevel="dangerous"
291        android:label="@string/permlab_modifyAudioSettings"
292        android:description="@string/permdesc_modifyAudioSettings" />
293
294    <!-- Allows an application to record audio -->
295    <permission android:name="android.permission.RECORD_AUDIO"
296        android:permissionGroup="android.permission-group.HARDWARE_CONTROLS"
297        android:protectionLevel="dangerous"
298        android:label="@string/permlab_recordAudio"
299        android:description="@string/permdesc_recordAudio" />
300
301    <!-- Required to be able to access the camera device. -->
302    <permission android:name="android.permission.CAMERA"
303        android:permissionGroup="android.permission-group.HARDWARE_CONTROLS"
304        android:protectionLevel="dangerous"
305        android:label="@string/permlab_camera"
306        android:description="@string/permdesc_camera" />
307
308    <!-- Allows access to the vibrator -->
309    <permission android:name="android.permission.VIBRATE"
310        android:permissionGroup="android.permission-group.HARDWARE_CONTROLS"
311        android:protectionLevel="normal"
312        android:label="@string/permlab_vibrate"
313        android:description="@string/permdesc_vibrate" />
314
315    <!-- Allows access to the flashlight -->
316    <permission android:name="android.permission.FLASHLIGHT"
317        android:permissionGroup="android.permission-group.HARDWARE_CONTROLS"
318        android:protectionLevel="normal"
319        android:label="@string/permlab_flashlight"
320        android:description="@string/permdesc_flashlight" />
321
322    <!-- Allows access to hardware peripherals.  Intended only for hardware testing -->
323    <permission android:name="android.permission.HARDWARE_TEST"
324        android:permissionGroup="android.permission-group.HARDWARE_CONTROLS"
325        android:protectionLevel="signature"
326        android:label="@string/permlab_hardware_test"
327        android:description="@string/permdesc_hardware_test" />
328
329    <!-- =========================================== -->
330    <!-- Permissions associated with telephony state -->
331    <!-- =========================================== -->
332    <eat-comment />
333    
334    <!-- Used for permissions that are associated with accessing and modifyign
335         telephony state: intercepting outgoing calls, reading
336         and modifying the phone state.  Note that
337         placing phone calls is not in this group, since that is in the
338         more important "takin' yer moneys" group. -->
339    <permission-group android:name="android.permission-group.PHONE_CALLS"
340        android:label="@string/permgrouplab_phoneCalls"
341        android:description="@string/permgroupdesc_phoneCalls" />
342
343    <!-- Allows an application to monitor, modify, or abort outgoing
344         calls. -->
345    <permission android:name="android.permission.PROCESS_OUTGOING_CALLS"
346        android:permissionGroup="android.permission-group.PHONE_CALLS"
347        android:protectionLevel="dangerous"
348        android:label="@string/permlab_processOutgoingCalls"
349        android:description="@string/permdesc_processOutgoingCalls" />
350
351    <!-- Allows modification of the telephony state - power on, mmi, etc.
352         Does not include placing calls. -->
353    <permission android:name="android.permission.MODIFY_PHONE_STATE"
354        android:permissionGroup="android.permission-group.PHONE_CALLS"
355        android:protectionLevel="dangerous"
356        android:label="@string/permlab_modifyPhoneState"
357        android:description="@string/permdesc_modifyPhoneState" />
358
359    <!-- Allows read only access to phone state. -->
360    <permission android:name="android.permission.READ_PHONE_STATE"
361        android:permissionGroup="android.permission-group.PHONE_CALLS"
362        android:protectionLevel="dangerous"
363        android:label="@string/permlab_readPhoneState"
364        android:description="@string/permdesc_readPhoneState" />
365
366    <!-- ============================================ -->
367    <!-- Permissions for low-level system interaction -->
368    <!-- ============================================ -->
369    <eat-comment />
370    
371    <!-- Group of permissions that are related to system APIs.  Many
372         of these are not permissions the user will be expected to understand,
373         and such permissions should generally be marked as "normal" protection
374         level so they don't get displayed.  This can also, however, be used
375         for miscellaneous features that provide access to the operating system,
376         such as writing the global system settings. -->
377    <permission-group android:name="android.permission-group.SYSTEM_TOOLS"
378        android:label="@string/permgrouplab_systemTools"
379        android:description="@string/permgroupdesc_systemTools" />
380
381    <!-- Allows an application to read or write the system settings. -->
382    <permission android:name="android.permission.WRITE_SETTINGS"
383        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
384        android:protectionLevel="dangerous"
385        android:label="@string/permlab_writeSettings"
386        android:description="@string/permdesc_writeSettings" />
387
388    <!-- Allows an application to read or write the secure system settings. -->
389    <permission android:name="android.permission.WRITE_SECURE_SETTINGS"
390        android:protectionLevel="signatureOrSystem"
391        android:label="@string/permlab_writeSecureSettings"
392        android:description="@string/permdesc_writeSecureSettings" />
393
394    <!-- Allows an application to modify the Google service map. -->
395    <permission android:name="android.permission.WRITE_GSERVICES"
396        android:protectionLevel="signature"
397        android:label="@string/permlab_writeGservices"
398        android:description="@string/permdesc_writeGservices" />
399
400    <!-- Allows an application to expand or collapse the status bar. -->
401    <permission android:name="android.permission.EXPAND_STATUS_BAR"
402        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
403        android:protectionLevel="normal"
404        android:label="@string/permlab_expandStatusBar"
405        android:description="@string/permdesc_expandStatusBar" />
406
407    <!-- Allows an application to get information about the currently
408         or recently running tasks: a thumbnail representation of the tasks,
409         what activities are running in it, etc. -->
410    <permission android:name="android.permission.GET_TASKS"
411        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
412        android:protectionLevel="dangerous"
413        android:label="@string/permlab_getTasks"
414        android:description="@string/permdesc_getTasks" />
415
416    <!-- Allows an application to change the Z-order of tasks -->
417    <permission android:name="android.permission.REORDER_TASKS"
418        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
419        android:protectionLevel="dangerous"
420        android:label="@string/permlab_reorderTasks"
421        android:description="@string/permdesc_reorderTasks" />
422
423    <!-- Allows an application to modify the current configuration, such
424         as locale. -->
425    <permission android:name="android.permission.CHANGE_CONFIGURATION"
426        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
427        android:protectionLevel="dangerous"
428        android:label="@string/permlab_changeConfiguration"
429        android:description="@string/permdesc_changeConfiguration" />
430
431    <!-- Allows an application to restart other applications. -->
432    <permission android:name="android.permission.RESTART_PACKAGES"
433        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
434        android:protectionLevel="dangerous"
435        android:label="@string/permlab_restartPackages"
436        android:description="@string/permdesc_restartPackages" />
437
438    <!-- Allows an application to retrieve state dump information from system
439         services. -->
440    <permission android:name="android.permission.DUMP"
441        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
442        android:protectionLevel="dangerous"
443        android:label="@string/permlab_dump"
444        android:description="@string/permdesc_dump" />
445
446    <!-- Allows an application to open windows using the type
447         {@link android.view.WindowManager.LayoutParams#TYPE_SYSTEM_ALERT},
448         shown on top of all other applications.  Very few applications
449         should use this permission; these windows are intended for
450         system-level interaction with the user. -->
451    <permission android:name="android.permission.SYSTEM_ALERT_WINDOW"
452        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
453        android:protectionLevel="dangerous"
454        android:label="@string/permlab_systemAlertWindow"
455        android:description="@string/permdesc_systemAlertWindow" />
456
457    <!-- Modify the global animation scaling factor. -->
458    <permission android:name="android.permission.SET_ANIMATION_SCALE"
459        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
460        android:protectionLevel="dangerous"
461        android:label="@string/permlab_setAnimationScale"
462        android:description="@string/permdesc_setAnimationScale" />
463
464    <!-- Allow an application to make its activities persistent. -->
465    <permission android:name="android.permission.PERSISTENT_ACTIVITY"
466        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
467        android:protectionLevel="dangerous"
468        android:label="@string/permlab_persistentActivity"
469        android:description="@string/permdesc_persistentActivity" />
470
471    <!-- Allows an application to find out the space used by any package. -->
472    <permission android:name="android.permission.GET_PACKAGE_SIZE"
473        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
474        android:protectionLevel="normal"
475        android:label="@string/permlab_getPackageSize"
476        android:description="@string/permdesc_getPackageSize" />
477
478    <!-- Allows an application to modify the list of preferred applications
479         with the {@link android.content.pm.PackageManager#addPackageToPreferred
480         PackageManager.addPackageToPreferred()} and
481         {@link android.content.pm.PackageManager#removePackageFromPreferred
482         PackageManager.removePackageFromPreferred()} methods. -->
483    <permission android:name="android.permission.SET_PREFERRED_APPLICATIONS"
484        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
485        android:protectionLevel="dangerous"
486        android:label="@string/permlab_setPreferredApplications"
487        android:description="@string/permdesc_setPreferredApplications" />
488
489    <!-- Allows an application to receive the
490         {@link android.content.Intent#ACTION_BOOT_COMPLETED} that is
491         broadcast after the system finishes booting.  If you don't
492         request this permission, you will not receive the broadcast at
493         that time.  Though holding this permission does not have any
494         security implications, it can have a negative impact on the
495         user experience by increasing the amount of time it takes the
496         system to start and allowing applications to have themselves
497         running without the user being aware of them.  As such, you must
498         explicitly declare your use of this facility to make that visible
499         to the user. -->
500    <permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"
501        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
502        android:protectionLevel="normal"
503        android:label="@string/permlab_receiveBootCompleted"
504        android:description="@string/permdesc_receiveBootCompleted" />
505
506    <!-- Allows an application to broadcast sticky intents.  These are
507         broadcasts whose data is held by the system after being finished,
508         so that clients can quickly retrieve that data without having
509         to wait for the next broadcast. -->
510    <permission android:name="android.permission.BROADCAST_STICKY"
511        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
512        android:protectionLevel="normal"
513        android:label="@string/permlab_broadcastSticky"
514        android:description="@string/permdesc_broadcastSticky" />
515
516    <!-- Allows using PowerManager WakeLocks to keep processor from sleeping or screen
517         from dimming -->
518    <permission android:name="android.permission.WAKE_LOCK"
519        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
520        android:protectionLevel="dangerous"
521        android:label="@string/permlab_wakeLock"
522        android:description="@string/permdesc_wakeLock" />
523
524    <!-- Allows applications to set the wallpaper -->
525    <permission android:name="android.permission.SET_WALLPAPER"
526        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
527        android:protectionLevel="normal"
528        android:label="@string/permlab_setWallpaper"
529        android:description="@string/permdesc_setWallpaper" />
530
531    <!-- Allows applications to set the wallpaper hints -->
532    <permission android:name="android.permission.SET_WALLPAPER_HINTS"
533        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
534        android:protectionLevel="normal"
535        android:label="@string/permlab_setWallpaperHints"
536        android:description="@string/permdesc_setWallpaperHints" />
537
538    <!-- Allows applications to set the system time zone -->
539    <permission android:name="android.permission.SET_TIME_ZONE"
540        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
541        android:protectionLevel="dangerous"
542        android:label="@string/permlab_setTimeZone"
543        android:description="@string/permdesc_setTimeZone" />
544
545    <!-- Allows mounting and unmounting file systems for removable storage. -->
546    <permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"
547        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
548        android:protectionLevel="dangerous"
549        android:label="@string/permlab_mount_unmount_filesystems"
550        android:description="@string/permdesc_mount_unmount_filesystems" />
551
552    <!-- Allows formatting file systems for removable storage. -->
553    <permission android:name="android.permission.MOUNT_FORMAT_FILESYSTEMS"
554        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
555        android:protectionLevel="dangerous"
556        android:label="@string/permlab_mount_format_filesystems"
557        android:description="@string/permdesc_mount_format_filesystems" />
558
559    <!-- Allows applications to disable the keyguard -->
560    <permission android:name="android.permission.DISABLE_KEYGUARD"
561        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
562        android:protectionLevel="normal"
563        android:description="@string/permdesc_disableKeyguard"
564        android:label="@string/permlab_disableKeyguard" />
565
566    <!-- Allows applications to read the sync settings -->
567    <permission android:name="android.permission.READ_SYNC_SETTINGS"
568        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
569        android:protectionLevel="normal"
570        android:description="@string/permdesc_readSyncSettings"
571        android:label="@string/permlab_readSyncSettings" />
572
573    <!-- Allows applications to write the sync settings -->
574    <permission android:name="android.permission.WRITE_SYNC_SETTINGS"
575        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
576        android:protectionLevel="dangerous"
577        android:description="@string/permdesc_writeSyncSettings"
578        android:label="@string/permlab_writeSyncSettings" />
579
580    <!-- Allows applications to read the sync stats -->
581    <permission android:name="android.permission.READ_SYNC_STATS"
582        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
583        android:protectionLevel="normal"
584        android:description="@string/permdesc_readSyncStats"
585        android:label="@string/permlab_readSyncStats" />
586
587    <!-- Allows applications to write the apn settings -->
588    <permission android:name="android.permission.WRITE_APN_SETTINGS"
589                android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
590                android:protectionLevel="dangerous"
591                android:description="@string/permdesc_writeApnSettings"
592                android:label="@string/permlab_writeApnSettings" />
593
594    <!-- Allows an application to allow access the subscribed feeds 
595         ContentProvider. -->
596    <permission android:name="android.permission.SUBSCRIBED_FEEDS_READ"
597        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
598        android:label="@string/permlab_subscribedFeedsRead"
599        android:description="@string/permdesc_subscribedFeedsRead"
600        android:protectionLevel="normal" />
601    <permission android:name="android.permission.SUBSCRIBED_FEEDS_WRITE"
602        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
603        android:label="@string/permlab_subscribedFeedsWrite"
604        android:description="@string/permdesc_subscribedFeedsWrite"
605        android:protectionLevel="dangerous" />
606        
607    <!-- Allows applications to change network connectivity state -->
608    <permission android:name="android.permission.CHANGE_NETWORK_STATE"
609        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
610        android:protectionLevel="dangerous"
611        android:description="@string/permdesc_changeNetworkState"
612        android:label="@string/permlab_changeNetworkState" />
613
614    <!-- Allows applications to change Wi-Fi connectivity state -->
615    <permission android:name="android.permission.CHANGE_WIFI_STATE"
616        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
617        android:protectionLevel="dangerous"
618        android:description="@string/permdesc_changeWifiState"
619        android:label="@string/permlab_changeWifiState" />
620
621    <!-- Allows applications to discover and pair bluetooth devices -->
622    <permission android:name="android.permission.BLUETOOTH_ADMIN"
623        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
624        android:protectionLevel="dangerous"
625        android:description="@string/permdesc_bluetoothAdmin"
626        android:label="@string/permlab_bluetoothAdmin" />
627
628    <!-- Allows an application to clear the caches of all installed
629         applications on the device.  -->
630    <permission android:name="android.permission.CLEAR_APP_CACHE"
631        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
632        android:protectionLevel="dangerous"
633        android:label="@string/permlab_clearAppCache"
634        android:description="@string/permdesc_clearAppCache" />
635
636    <!-- Allows an application to read the low-level system log files.
637         These can contain slightly private information about what is
638         happening on the device, but should never contain the user's
639         private information. -->
640    <permission android:name="android.permission.READ_LOGS"
641        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
642        android:protectionLevel="dangerous"
643        android:label="@string/permlab_readLogs"
644        android:description="@string/permdesc_readLogs" />
645
646    <!-- ========================================= -->
647    <!-- Permissions for special development tools -->
648    <!-- ========================================= -->
649    <eat-comment />
650    
651    <!-- Group of permissions that are related to development features.  These
652         are not permissions that should appear in normal applications; they
653         protect APIs that are intended only to be used for development
654         purposes. -->
655    <permission-group android:name="android.permission-group.DEVELOPMENT_TOOLS"
656        android:label="@string/permgrouplab_developmentTools"
657        android:description="@string/permgroupdesc_developmentTools" />
658
659    <!-- Configure an application for debugging. -->
660    <permission android:name="android.permission.SET_DEBUG_APP"
661        android:permissionGroup="android.permission-group.DEVELOPMENT_TOOLS"
662        android:protectionLevel="dangerous"
663        android:label="@string/permlab_setDebugApp"
664        android:description="@string/permdesc_setDebugApp" />
665
666    <!-- Allows an application to set the maximum number of (not needed)
667         application processes that can be running. -->
668    <permission android:name="android.permission.SET_PROCESS_LIMIT"
669        android:permissionGroup="android.permission-group.DEVELOPMENT_TOOLS"
670        android:protectionLevel="dangerous"
671        android:label="@string/permlab_setProcessLimit"
672        android:description="@string/permdesc_setProcessLimit" />
673
674    <!-- Allows an application to control whether activities are immediately
675         finished when put in the background. -->
676    <permission android:name="android.permission.SET_ALWAYS_FINISH"
677        android:permissionGroup="android.permission-group.DEVELOPMENT_TOOLS"
678        android:protectionLevel="dangerous"
679        android:label="@string/permlab_setAlwaysFinish"
680        android:description="@string/permdesc_setAlwaysFinish" />
681
682    <!-- Allow an application to request that a signal be sent to all persistent processes -->
683    <permission android:name="android.permission.SIGNAL_PERSISTENT_PROCESSES"
684        android:permissionGroup="android.permission-group.DEVELOPMENT_TOOLS"
685        android:protectionLevel="dangerous"
686        android:label="@string/permlab_signalPersistentProcesses"
687        android:description="@string/permdesc_signalPersistentProcesses" />
688
689    <!-- ==================================== -->
690    <!-- Private (signature-only) permissions -->
691    <!-- ==================================== -->
692    <eat-comment />
693
694    <!-- Allows applications to RW to diagnostic resources. -->
695    <permission android:name="android.permission.DIAGNOSTIC"
696        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
697        android:protectionLevel="signature"
698        android:description="@string/permdesc_diagnostic"
699        android:label="@string/permlab_diagnostic" />
700
701    <!-- Allows an application to open, close, or disable the status bar
702         and its icons. -->
703    <permission android:name="android.permission.STATUS_BAR"
704        android:label="@string/permlab_statusBar"
705        android:description="@string/permdesc_statusBar"
706        android:protectionLevel="signature" />
707
708    <!-- Allows an application to force any currently running process to be
709         in the foreground. -->
710    <permission android:name="android.permission.SET_PROCESS_FOREGROUND"
711        android:label="@string/permlab_setProcessForeground"
712        android:description="@string/permdesc_setProcessForeground"
713        android:protectionLevel="signature" />
714
715    <!-- Allows an application to force a BACK operation on whatever is the
716         top activity. -->
717    <permission android:name="android.permission.FORCE_BACK"
718        android:label="@string/permlab_forceBack"
719        android:description="@string/permdesc_forceBack"
720        android:protectionLevel="signature" />
721
722    <!-- Allows an application to publish system-level services.  Such services
723         can only be published from processes that never go away, so this is
724         not something that any normal application can do. -->
725    <permission android:name="android.permission.ADD_SYSTEM_SERVICE"
726        android:label="@string/permlab_addSystemService"
727        android:description="@string/permdesc_addSystemService"
728        android:protectionLevel="signature" />
729
730    <permission android:name="android.permission.FOTA_UPDATE"
731        android:label="@string/permlab_fotaUpdate"
732        android:description="@string/permdesc_fotaUpdate"
733        android:protectionLevel="signature" />
734
735    <!-- Allows an application to update device statistics. Not for
736         use by third party apps. -->
737    <permission android:name="android.permission.UPDATE_DEVICE_STATS"
738        android:label="@string/permlab_batteryStats"
739        android:description="@string/permdesc_batteryStats"
740        android:protectionLevel="signature" />
741
742    <!-- Allows an application to open windows that are for use by parts
743         of the system user interface.  Not for use by third party apps. -->
744    <permission android:name="android.permission.INTERNAL_SYSTEM_WINDOW"
745        android:label="@string/permlab_internalSystemWindow"
746        android:description="@string/permdesc_internalSystemWindow"
747        android:protectionLevel="signature" />
748
749    <!-- Allows an application to manage (create, destroy,
750         Z-order) application tokens in the window manager.  This is only
751         for use by the system. -->
752    <permission android:name="android.permission.MANAGE_APP_TOKENS"
753        android:label="@string/permlab_manageAppTokens"
754        android:description="@string/permdesc_manageAppTokens"
755        android:protectionLevel="signature" />
756
757    <!-- Allows an application to inject user events (keys, touch, trackball)
758         into the event stream and deliver them to ANY window.  Without this
759         permission, you can only deliver events to windows in your own process.
760         Very few applications should need to use this permission. -->
761    <permission android:name="android.permission.INJECT_EVENTS"
762        android:label="@string/permlab_injectEvents"
763        android:description="@string/permdesc_injectEvents"
764        android:protectionLevel="signature" />
765
766    <!-- Allows an application to watch and control how activities are
767         started globally in the system.  Only for is in debugging
768         (usually the monkey command). -->
769    <permission android:name="android.permission.SET_ACTIVITY_WATCHER"
770        android:label="@string/permlab_runSetActivityWatcher"
771        android:description="@string/permdesc_runSetActivityWatcher"
772        android:protectionLevel="signature" />
773
774    <!-- Allows an application to retrieve the current state of keys and
775         switches.  This is only for use by the system.-->
776    <permission android:name="android.permission.READ_INPUT_STATE"
777        android:label="@string/permlab_readInputState"
778        android:description="@string/permdesc_readInputState"
779        android:protectionLevel="signature" />
780
781    <!-- Must be required by input method services, to ensure that only the
782         system can bind to them. -->
783    <permission android:name="android.permission.BIND_INPUT_METHOD"
784        android:label="@string/permlab_bindInputMethod"
785        android:description="@string/permdesc_bindInputMethod"
786        android:protectionLevel="signature" />
787
788    <!-- Allows low-level access to setting the orientation (actually
789         rotation) of the screen.  Not for use by normal applications. -->
790    <permission android:name="android.permission.SET_ORIENTATION"
791        android:label="@string/permlab_setOrientation"
792        android:description="@string/permdesc_setOrientation"
793        android:protectionLevel="signature" />
794
795    <!-- Allows an application to install packages. -->
796    <permission android:name="android.permission.INSTALL_PACKAGES"
797        android:label="@string/permlab_installPackages"
798        android:description="@string/permdesc_installPackages"
799        android:protectionLevel="signature" />
800
801    <!-- Allows an application to clear user data -->
802    <permission android:name="android.permission.CLEAR_APP_USER_DATA"
803        android:label="@string/permlab_clearAppUserData"
804        android:description="@string/permdesc_clearAppUserData"
805        android:protectionLevel="signature" />
806
807    <!-- Allows an application to delete cache files. -->
808    <permission android:name="android.permission.DELETE_CACHE_FILES"
809        android:label="@string/permlab_deleteCacheFiles"
810        android:description="@string/permdesc_deleteCacheFiles"
811        android:protectionLevel="signature" />
812
813    <!-- Allows an application to delete packages. -->
814    <permission android:name="android.permission.DELETE_PACKAGES"
815        android:label="@string/permlab_deletePackages"
816        android:description="@string/permdesc_deletePackages"
817        android:protectionLevel="signature" />
818
819    <!-- Allows an application to change whether an application component (other than its own) is
820         enabled or not. -->
821    <permission android:name="android.permission.CHANGE_COMPONENT_ENABLED_STATE"
822        android:label="@string/permlab_changeComponentState"
823        android:description="@string/permdesc_changeComponentState"
824        android:protectionLevel="signature" />
825
826    <!-- Allows an application to use SurfaceFlinger's low level features -->
827    <permission android:name="android.permission.ACCESS_SURFACE_FLINGER"
828        android:label="@string/permlab_accessSurfaceFlinger"
829        android:description="@string/permdesc_accessSurfaceFlinger"
830        android:protectionLevel="signature" />
831
832    <!-- Allows an application to take screen shots and more generally
833         get access to the frame buffer data -->
834    <permission android:name="android.permission.READ_FRAME_BUFFER"
835        android:label="@string/permlab_readFrameBuffer"
836        android:description="@string/permdesc_readFrameBuffer"
837        android:protectionLevel="signature" />
838
839    <!-- Required to be able to disable the device (very dangerous!). -->
840    <permission android:name="android.permission.BRICK"
841        android:label="@string/permlab_brick"
842        android:description="@string/permdesc_brick"
843        android:protectionLevel="signature" />
844
845    <!-- Required to be able to reboot the device. -->
846    <permission android:name="android.permission.REBOOT"
847        android:label="@string/permlab_reboot"
848        android:description="@string/permdesc_reboot"
849        android:protectionLevel="signature" />
850
851   <!-- Allows low-level access to power management -->
852    <permission android:name="android.permission.DEVICE_POWER"
853        android:label="@string/permlab_devicePower"
854        android:description="@string/permdesc_devicePower"
855        android:protectionLevel="signature" />
856
857    <!-- Run as a manufacturer test application, running as the root user.
858         Only available when the device is running in manufacturer test mode. -->
859    <permission android:name="android.permission.FACTORY_TEST"
860        android:label="@string/permlab_factoryTest"
861        android:description="@string/permdesc_factoryTest"
862        android:protectionLevel="signature" />
863
864    <!-- Allows an application to broadcast a notification that an application
865         package has been removed. -->
866    <permission android:name="android.permission.BROADCAST_PACKAGE_REMOVED"
867        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
868        android:label="@string/permlab_broadcastPackageRemoved"
869        android:description="@string/permdesc_broadcastPackageRemoved"
870        android:protectionLevel="signature" />
871
872    <!-- Allows an application to broadcast an SMS receipt notification -->
873    <permission android:name="android.permission.BROADCAST_SMS"
874        android:permissionGroup="android.permission-group.MESSAGES"
875        android:label="@string/permlab_broadcastSmsReceived"
876        android:description="@string/permdesc_broadcastSmsReceived"
877        android:protectionLevel="signature" />
878
879    <!-- Allows an application to broadcast a WAP PUSH receipt notification -->
880    <permission android:name="android.permission.BROADCAST_WAP_PUSH"
881        android:permissionGroup="android.permission-group.MESSAGES"
882        android:label="@string/permlab_broadcastWapPush"
883        android:description="@string/permdesc_broadcastWapPush"
884        android:protectionLevel="signature" />
885
886    <permission android:name="android.permission.MASTER_CLEAR"
887        android:label="@string/permlab_masterClear"
888        android:description="@string/permdesc_masterClear"
889        android:protectionLevel="signatureOrSystem" />
890
891    <!-- Allows an application to call any phone number, including emergency
892         numbers, without going through the Dialer user interface for the user
893         to confirm the call being placed. -->
894    <permission android:name="android.permission.CALL_PRIVILEGED"
895        android:label="@string/permlab_callPrivileged"
896        android:description="@string/permdesc_callPrivileged"
897        android:protectionLevel="signatureOrSystem" />
898
899    <!-- Allows enabling/disabling location update notifications from
900         the radio. Not for use by normal applications. -->
901    <permission android:name="android.permission.CONTROL_LOCATION_UPDATES"
902        android:label="@string/permlab_locationUpdates"
903        android:description="@string/permdesc_locationUpdates"
904        android:protectionLevel="signature" />
905
906    <!-- Allows read/write access to the "properties" table in the checkin
907         database, to change values that get uploaded. -->
908    <permission android:name="android.permission.ACCESS_CHECKIN_PROPERTIES"
909        android:label="@string/permlab_checkinProperties"
910        android:description="@string/permdesc_checkinProperties"
911        android:protectionLevel="signature" />
912
913    <!-- Allows an application to collect component usage
914         statistics -->
915    <permission android:name="android.permission.PACKAGE_USAGE_STATS"
916        android:label="@string/permlab_pkgUsageStats"
917        android:description="@string/permdesc_pkgUsageStats"
918        android:protectionLevel="normal" />
919
920    <!-- Allows an application to collect battery statistics -->
921    <permission android:name="android.permission.BATTERY_STATS"
922        android:label="@string/permlab_batteryStats"
923        android:description="@string/permdesc_batteryStats"
924        android:protectionLevel="normal" />
925
926    <!-- Allows an application to tell the gadget service which application
927         can access gadget's data.  The normal user flow is that a user
928         picks a gadget to go into a particular host, thereby giving that
929         host application access to the private data from the gadget app.
930         An application that has this permission should honor that contract.
931         Very few applications should need to use this permission. -->
932    <permission android:name="android.permission.BIND_GADGET"
933        android:permissionGroup="android.permission-group.PERSONAL_INFO"
934        android:label="@string/permlab_bindGadget"
935        android:description="@string/permdesc_bindGadget"
936        android:protectionLevel="signature" />
937
938    <!-- Allows applications to change the background data setting
939         @hide pending API council -->
940    <permission android:name="android.permission.CHANGE_BACKGROUND_DATA_SETTING"
941        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
942        android:protectionLevel="signature"
943        android:description="@string/permdesc_changeBackgroundDataSetting"
944        android:label="@string/permlab_changeBackgroundDataSetting" />
945
946    <application android:process="system"
947                 android:persistent="true"
948                 android:hasCode="false"
949                 android:label="Android System"
950                 android:allowClearUserData="false"
951                 android:icon="@drawable/ic_launcher_android">
952        <activity android:name="com.android.internal.app.ChooserActivity"
953                android:theme="@style/Theme.Dialog.Alert"
954                android:excludeFromRecents="true"
955                android:multiprocess="true">
956            <intent-filter>
957                <action android:name="android.intent.action.CHOOSER" />
958                <category android:name="android.intent.category.DEFAULT" />
959            </intent-filter>
960        </activity>
961        <activity android:name="com.android.internal.app.RingtonePickerActivity"
962                android:theme="@style/Theme.Dialog.Alert"
963                android:excludeFromRecents="true"
964                android:multiprocess="true">
965            <intent-filter>
966                <action android:name="android.intent.action.RINGTONE_PICKER" />
967                <category android:name="android.intent.category.DEFAULT" />
968            </intent-filter>
969        </activity>
970        <activity android:name="com.android.internal.app.UsbStorageActivity"
971                android:theme="@style/Theme.Dialog.Alert"
972                android:excludeFromRecents="true">
973        </activity>
974        <activity android:name="com.android.internal.app.UsbStorageStopActivity"
975                android:theme="@style/Theme.Dialog.Alert"
976                android:excludeFromRecents="true">
977        </activity>
978        <activity android:name="com.android.internal.app.ExternalMediaFormatActivity"
979                android:theme="@style/Theme.Dialog.Alert"
980                android:excludeFromRecents="true">
981        </activity>
982
983        <provider android:name=".content.SyncProvider"
984                android:authorities="sync" android:multiprocess="false" />
985
986        <service android:name="com.android.server.LoadAverageService"
987            android:exported="true" />
988
989        <receiver android:name="com.android.server.BootReceiver" >
990            <intent-filter>
991                <action android:name="android.intent.action.BOOT_COMPLETED" />
992            </intent-filter>
993        </receiver>
994
995        <receiver android:name="com.android.server.MasterClearReceiver"
996            android:permission="android.permission.MASTER_CLEAR" >
997            <intent-filter>
998                <action android:name="android.intent.action.GTALK_DATA_MESSAGE_RECEIVED" />
999                <category android:name="android.intent.category.MASTER_CLEAR" />
1000            </intent-filter>
1001        </receiver>
1002    </application>
1003
1004</manifest>
1005
1006
1007