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