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