diff --git a/api/current.txt b/api/current.txt index 50f4f59b4334a..7767544ed5191 100644 --- a/api/current.txt +++ b/api/current.txt @@ -136,8 +136,6 @@ package android { field public static final java.lang.String SET_WALLPAPER_HINTS = "android.permission.SET_WALLPAPER_HINTS"; field public static final java.lang.String SIGNAL_PERSISTENT_PROCESSES = "android.permission.SIGNAL_PERSISTENT_PROCESSES"; field public static final java.lang.String STATUS_BAR = "android.permission.STATUS_BAR"; - field public static final java.lang.String SUBSCRIBED_FEEDS_READ = "android.permission.SUBSCRIBED_FEEDS_READ"; - field public static final java.lang.String SUBSCRIBED_FEEDS_WRITE = "android.permission.SUBSCRIBED_FEEDS_WRITE"; field public static final java.lang.String SYSTEM_ALERT_WINDOW = "android.permission.SYSTEM_ALERT_WINDOW"; field public static final java.lang.String TRANSMIT_IR = "android.permission.TRANSMIT_IR"; field public static final java.lang.String UNINSTALL_SHORTCUT = "com.android.launcher.permission.UNINSTALL_SHORTCUT"; @@ -166,37 +164,18 @@ package android { public static final class Manifest.permission_group { ctor public Manifest.permission_group(); - field public static final java.lang.String ACCESSIBILITY_FEATURES = "android.permission-group.ACCESSIBILITY_FEATURES"; field public static final java.lang.String ACCOUNTS = "android.permission-group.ACCOUNTS"; - field public static final java.lang.String AFFECTS_BATTERY = "android.permission-group.AFFECTS_BATTERY"; - field public static final java.lang.String APP_INFO = "android.permission-group.APP_INFO"; - field public static final java.lang.String AUDIO_SETTINGS = "android.permission-group.AUDIO_SETTINGS"; - field public static final java.lang.String BLUETOOTH_NETWORK = "android.permission-group.BLUETOOTH_NETWORK"; field public static final java.lang.String BOOKMARKS = "android.permission-group.BOOKMARKS"; field public static final java.lang.String CALENDAR = "android.permission-group.CALENDAR"; field public static final java.lang.String CAMERA = "android.permission-group.CAMERA"; - field public static final java.lang.String COST_MONEY = "android.permission-group.COST_MONEY"; - field public static final java.lang.String DEVELOPMENT_TOOLS = "android.permission-group.DEVELOPMENT_TOOLS"; - field public static final java.lang.String DEVICE_ALARMS = "android.permission-group.DEVICE_ALARMS"; - field public static final java.lang.String DISPLAY = "android.permission-group.DISPLAY"; - field public static final java.lang.String HARDWARE_CONTROLS = "android.permission-group.HARDWARE_CONTROLS"; + field public static final java.lang.String CONTACTS = "android.permission-group.CONTACTS"; field public static final java.lang.String LOCATION = "android.permission-group.LOCATION"; - field public static final java.lang.String MESSAGES = "android.permission-group.MESSAGES"; field public static final java.lang.String MICROPHONE = "android.permission-group.MICROPHONE"; - field public static final java.lang.String NETWORK = "android.permission-group.NETWORK"; - field public static final java.lang.String PERSONAL_INFO = "android.permission-group.PERSONAL_INFO"; - field public static final java.lang.String PHONE_CALLS = "android.permission-group.PHONE_CALLS"; - field public static final java.lang.String SCREENLOCK = "android.permission-group.SCREENLOCK"; + field public static final java.lang.String PHONE = "android.permission-group.PHONE"; + field public static final java.lang.String SENSORS = "android.permission-group.SENSORS"; + field public static final java.lang.String SMS = "android.permission-group.SMS"; field public static final java.lang.String SOCIAL_INFO = "android.permission-group.SOCIAL_INFO"; - field public static final java.lang.String STATUS_BAR = "android.permission-group.STATUS_BAR"; - field public static final java.lang.String STORAGE = "android.permission-group.STORAGE"; - field public static final java.lang.String SYNC_SETTINGS = "android.permission-group.SYNC_SETTINGS"; - field public static final java.lang.String SYSTEM_CLOCK = "android.permission-group.SYSTEM_CLOCK"; - field public static final java.lang.String SYSTEM_TOOLS = "android.permission-group.SYSTEM_TOOLS"; field public static final java.lang.String USER_DICTIONARY = "android.permission-group.USER_DICTIONARY"; - field public static final java.lang.String VOICEMAIL = "android.permission-group.VOICEMAIL"; - field public static final java.lang.String WALLPAPER = "android.permission-group.WALLPAPER"; - field public static final java.lang.String WRITE_USER_DICTIONARY = "android.permission-group.WRITE_USER_DICTIONARY"; } public final class R { diff --git a/api/system-current.txt b/api/system-current.txt index 9518b183f944f..c38898189148e 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -202,8 +202,6 @@ package android { field public static final java.lang.String SIGNAL_PERSISTENT_PROCESSES = "android.permission.SIGNAL_PERSISTENT_PROCESSES"; field public static final java.lang.String STATUS_BAR = "android.permission.STATUS_BAR"; field public static final java.lang.String STOP_APP_SWITCHES = "android.permission.STOP_APP_SWITCHES"; - field public static final java.lang.String SUBSCRIBED_FEEDS_READ = "android.permission.SUBSCRIBED_FEEDS_READ"; - field public static final java.lang.String SUBSCRIBED_FEEDS_WRITE = "android.permission.SUBSCRIBED_FEEDS_WRITE"; field public static final java.lang.String SYSTEM_ALERT_WINDOW = "android.permission.SYSTEM_ALERT_WINDOW"; field public static final java.lang.String TRANSMIT_IR = "android.permission.TRANSMIT_IR"; field public static final java.lang.String TV_INPUT_HARDWARE = "android.permission.TV_INPUT_HARDWARE"; @@ -238,37 +236,18 @@ package android { public static final class Manifest.permission_group { ctor public Manifest.permission_group(); - field public static final java.lang.String ACCESSIBILITY_FEATURES = "android.permission-group.ACCESSIBILITY_FEATURES"; field public static final java.lang.String ACCOUNTS = "android.permission-group.ACCOUNTS"; - field public static final java.lang.String AFFECTS_BATTERY = "android.permission-group.AFFECTS_BATTERY"; - field public static final java.lang.String APP_INFO = "android.permission-group.APP_INFO"; - field public static final java.lang.String AUDIO_SETTINGS = "android.permission-group.AUDIO_SETTINGS"; - field public static final java.lang.String BLUETOOTH_NETWORK = "android.permission-group.BLUETOOTH_NETWORK"; field public static final java.lang.String BOOKMARKS = "android.permission-group.BOOKMARKS"; field public static final java.lang.String CALENDAR = "android.permission-group.CALENDAR"; field public static final java.lang.String CAMERA = "android.permission-group.CAMERA"; - field public static final java.lang.String COST_MONEY = "android.permission-group.COST_MONEY"; - field public static final java.lang.String DEVELOPMENT_TOOLS = "android.permission-group.DEVELOPMENT_TOOLS"; - field public static final java.lang.String DEVICE_ALARMS = "android.permission-group.DEVICE_ALARMS"; - field public static final java.lang.String DISPLAY = "android.permission-group.DISPLAY"; - field public static final java.lang.String HARDWARE_CONTROLS = "android.permission-group.HARDWARE_CONTROLS"; + field public static final java.lang.String CONTACTS = "android.permission-group.CONTACTS"; field public static final java.lang.String LOCATION = "android.permission-group.LOCATION"; - field public static final java.lang.String MESSAGES = "android.permission-group.MESSAGES"; field public static final java.lang.String MICROPHONE = "android.permission-group.MICROPHONE"; - field public static final java.lang.String NETWORK = "android.permission-group.NETWORK"; - field public static final java.lang.String PERSONAL_INFO = "android.permission-group.PERSONAL_INFO"; - field public static final java.lang.String PHONE_CALLS = "android.permission-group.PHONE_CALLS"; - field public static final java.lang.String SCREENLOCK = "android.permission-group.SCREENLOCK"; + field public static final java.lang.String PHONE = "android.permission-group.PHONE"; + field public static final java.lang.String SENSORS = "android.permission-group.SENSORS"; + field public static final java.lang.String SMS = "android.permission-group.SMS"; field public static final java.lang.String SOCIAL_INFO = "android.permission-group.SOCIAL_INFO"; - field public static final java.lang.String STATUS_BAR = "android.permission-group.STATUS_BAR"; - field public static final java.lang.String STORAGE = "android.permission-group.STORAGE"; - field public static final java.lang.String SYNC_SETTINGS = "android.permission-group.SYNC_SETTINGS"; - field public static final java.lang.String SYSTEM_CLOCK = "android.permission-group.SYSTEM_CLOCK"; - field public static final java.lang.String SYSTEM_TOOLS = "android.permission-group.SYSTEM_TOOLS"; field public static final java.lang.String USER_DICTIONARY = "android.permission-group.USER_DICTIONARY"; - field public static final java.lang.String VOICEMAIL = "android.permission-group.VOICEMAIL"; - field public static final java.lang.String WALLPAPER = "android.permission-group.WALLPAPER"; - field public static final java.lang.String WRITE_USER_DICTIONARY = "android.permission-group.WRITE_USER_DICTIONARY"; } public final class R { diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml index 453cb74bc97af..7c5d1941cab2f 100644 --- a/core/res/AndroidManifest.xml +++ b/core/res/AndroidManifest.xml @@ -308,84 +308,133 @@ - - - - + + + - - - - - - + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + android:label="@string/permgrouplab_sms" + android:description="@string/permgroupdesc_sms" + android:priority="300" /> + android:description="@string/permdesc_sendSms" + android:permissionFlags="costsMoney" + android:protectionLevel="dangerous" /> - - - - + + android:description="@string/permdesc_receiveSms" + android:protectionLevel="dangerous"/> - + + + + + + + + + + - - - - - - + android:description="@string/permdesc_receiveMms" + android:protectionLevel="dangerous" /> - - - - - - - - - - - - - + android:description="@string/permdesc_readCellBroadcasts" + android:protectionLevel="dangerous" /> - + @@ -449,66 +468,11 @@ android:icon="@drawable/perm_group_social_info" android:description="@string/permgroupdesc_socialInfo" android:permissionGroupFlags="personalInfo" - android:priority="320" /> + android:priority="1200" /> - - - - - - - - - - - - - - - - + - - - + + + - - + + - - + + + + + + + + + + + + + + + + + + + + + + + + + - + contacts data. +

Note: If your app uses the + {@link #WRITE_CONTACTS} permission and both your {@code + minSdkVersion} and {@code + targetSdkVersion} values are set to 15 or lower, the system implicitly + grants your app this permission. If you don't need this permission, be sure your {@code + targetSdkVersion} is 16 or higher.

--> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + android:description="@string/permdesc_bodySensors" + android:protectionLevel="dangerous" /> - - - + + + + + + + + + + - - + + - - + + - - + + + + + + + + + + + + + + + + android:priority="1100" /> - - - + android:description="@string/permdesc_readDictionary" + android:protectionLevel="dangerous"/> + android:description="@string/permdesc_writeDictionary" + android:protectionLevel="normal"/> @@ -642,7 +775,7 @@ android:icon="@drawable/perm_group_bookmarks" android:description="@string/permgroupdesc_bookmarks" android:permissionGroupFlags="personalInfo" - android:priority="300" /> + android:priority="1200" /> @@ -665,18 +798,8 @@ - - - - + @@ -686,97 +809,29 @@ - - - - - - + android:protectionLevel="system|signature" /> - - - - - - - - + android:protectionLevel="system|signature" /> - - - - - - - - - - - - + android:description="@string/permdesc_accessLocationExtraCommands" + android:protectionLevel="normal" /> + android:protectionLevel="signature|system" /> @@ -797,169 +851,124 @@ - - - + android:label="@string/permlab_createNetworkSockets" + android:protectionLevel="dangerous" /> + android:label="@string/permlab_accessNetworkState" + android:protectionLevel="normal" /> + android:label="@string/permlab_accessWifiState" + android:protectionLevel="normal" /> + android:label="@string/permlab_changeWifiState" + android:protectionLevel="dangerous" /> + by another application. Once reconfigured the original creator cannot make any further + modifications. +

Not for use by third-party applications. --> + android:protectionLevel="signature|system" /> + android:label="@string/permlab_accessWimaxState" + android:protectionLevel="normal" /> + android:label="@string/permlab_changeWimaxState" + android:protectionLevel="dangerous" /> - + android:protectionLevel="signature|system" /> - - - + android:label="@string/permlab_bluetooth" + android:protectionLevel="dangerous" /> + android:label="@string/permlab_bluetoothAdmin" + android:protectionLevel="dangerous" /> + android:protectionLevel="system|signature" /> + android:protectionLevel="signature" /> + android:label="@string/permlab_nfc" + android:protectionLevel="dangerous" /> - + + @hide --> + android:protectionLevel="signature|system" /> @@ -973,7 +982,7 @@ android:icon="@drawable/perm_group_accounts" android:description="@string/permgroupdesc_accounts" android:permissionGroupFlags="personalInfo" - android:priority="200" /> + android:priority="1000" /> Not for use by third-party applications. --> + android:protectionLevel="signature" /> - - - - + android:label="@string/permlab_changeWifiMulticastState" + android:protectionLevel="dangerous" /> + android:description="@string/permdesc_vibrate" + android:protectionLevel="normal" /> + android:description="@string/permdesc_flashlight" + android:protectionLevel="normal" /> + android:description="@string/permdesc_wakeLock" + android:protectionLevel="normal" /> + android:description="@string/permdesc_transmitIr" + android:protectionLevel="normal" /> - - - + android:description="@string/permdesc_modifyAudioSettings" + android:protectionLevel="normal" /> - - - + android:protectionLevel="signature|system" /> + android:protectionLevel="signature|system" /> + android:protectionLevel="signature" /> + android:protectionLevel="signature|system" /> + android:protectionLevel="signature" /> - - - - - - - - - - - - - + android:protectionLevel="signature" /> - - - - - - + android:protectionLevel="signature|system" /> + android:protectionLevel="signature|system" /> - - - - - - - - - + android:protectionLevel="signature|system" /> + android:protectionLevel="signature|system" /> - - - - - - + android:protectionLevel="system|signature" /> + android:protectionLevel="system|signature" /> + android:protectionLevel="system|signature" /> + android:protectionLevel="system|signature" /> + android:protectionLevel="system|signature" /> + android:protectionLevel="system|signature" /> - - - @@ -1417,25 +1240,18 @@ {@link android.content.Context#getExternalFilesDir} and {@link android.content.Context#getExternalCacheDir}. --> + android:protectionLevel="normal" /> @@ -1443,41 +1259,22 @@ - - - - + + android:label="@string/permlab_disableKeyguard" + android:protectionLevel="dangerous" /> - - - + android:description="@string/permdesc_getTasks" + android:protectionLevel="normal" /> + android:protectionLevel="signature|system" /> + android:protectionLevel="signature|system" /> + android:protectionLevel="signature|system|development" /> + android:protectionLevel="signature" /> + android:protectionLevel="signature|system" /> + android:protectionLevel="signature" /> + android:description="@string/permdesc_reorderTasks" + android:protectionLevel="normal" /> + android:protectionLevel="signature" /> + android:protectionLevel="signature|system" /> + protection or exported state. + @hide --> + android:protectionLevel="signature" /> + android:description="@string/permdesc_killBackgroundProcesses" + android:protectionLevel="normal" /> + android:description="@string/permdesc_killBackgroundProcesses" + android:protectionLevel="normal" /> - - - + android:description="@string/permdesc_systemAlertWindow" + android:protectionLevel="dangerous" /> - - - + android:description="@string/permdesc_setWallpaper" + android:protectionLevel="normal" /> + android:description="@string/permdesc_setWallpaperHints" + android:protectionLevel="normal" /> - - - + android:protectionLevel="signature|system" /> + android:description="@string/permdesc_setTimeZone" + android:protectionLevel="normal" /> - - - + android:description="@string/permdesc_expandStatusBar" + android:protectionLevel="normal" /> @@ -1687,54 +1418,39 @@ - + android:description="@string/permdesc_install_shortcut" + android:protectionLevel="dangerous"/> - - + + android:description="@string/permdesc_uninstall_shortcut" + android:protectionLevel="dangerous"/> - - - + android:label="@string/permlab_readSyncSettings" + android:protectionLevel="normal" /> + android:label="@string/permlab_writeSyncSettings" + android:protectionLevel="normal" /> + android:label="@string/permlab_readSyncStats" + android:protectionLevel="normal" /> @@ -1742,102 +1458,64 @@ - - - + android:protectionLevel="signature" /> + android:protectionLevel="signature|system|development" /> + android:description="@string/permdesc_writeSettings" + android:protectionLevel="normal" /> + android:protectionLevel="signature|system" /> + android:protectionLevel="signature|system" /> + android:protectionLevel="signature|system" /> + android:protectionLevel="signature|system|development" /> + android:description="@string/permdesc_persistentActivity" + android:protectionLevel="normal" /> + android:description="@string/permdesc_getPackageSize" + android:protectionLevel="normal" /> + android:protectionLevel="signature" /> + android:description="@string/permdesc_receiveBootCompleted" + android:protectionLevel="normal" /> + android:description="@string/permdesc_broadcastSticky" + android:protectionLevel="normal" /> + android:protectionLevel="system|signature" /> + android:protectionLevel="system|signature" /> + android:protectionLevel="signature" /> + android:protectionLevel="signature" /> + android:protectionLevel="signature" /> + android:protectionLevel="signature" /> + android:protectionLevel="signature" /> - - - - + android:protectionLevel="signature|system" /> + android:label="@string/permlab_changeNetworkState" + android:protectionLevel="normal" /> + android:protectionLevel="dangerous" /> + android:protectionLevel="signature|system" /> + android:protectionLevel="signature|system" /> + android:protectionLevel="signature|system" /> + android:protectionLevel="signature" /> @@ -1995,152 +1621,100 @@ - - - + android:protectionLevel="signature|system|development" /> + android:protectionLevel="signature|system|development" /> + android:protectionLevel="signature|system|development" /> + android:protectionLevel="signature|system|development" /> + android:protectionLevel="signature|system|development" /> + android:protectionLevel="signature|system|development" /> + android:protectionLevel="signature|system|development" /> - + + android:protectionLevel="signature" /> + android:protectionLevel="signature" /> + android:protectionLevel="signature" /> - - - + android:protectionLevel="signature" /> + android:protectionLevel="signature" /> + android:protectionLevel="signature" /> + android:protectionLevel="signatureOrSystem" /> + android:protectionLevel="signatureOrSystem" /> + android:protectionLevel="signature" /> + android:description="@string/permdesc_readInstallSessions" + android:protectionLevel="normal"/> + android:protectionLevel="signature" /> - Services that cost you money + Contacts - Do things that can cost you money. + access and modify your contacts - Your messages + Location - Read and write your SMS, email, and other messages. - - - Your personal information - - Direct access to information about you, stored in on your contact card. + access your location Your social information Direct access to information about your contacts and social connections. - - Your location - - Monitor your physical location. - - - Network communication - - Access various network features. - - - Bluetooth - - Access devices and networks through Bluetooth. - - - Audio Settings - - Change audio settings. - - - Affects Battery - - Use features that can quickly drain battery. - Calendar - Direct access to calendar and events. + access and modify your calendar - Read User Dictionary + SMS - Read words in user dictionary. + access and modify SMS - Write User Dictionary + User Dictionary - Add words to the user dictionary. + Read or write words in user dictionary. Bookmarks and History Direct access to bookmarks and browser history. - - Alarm - - Set the alarm clock. - - - Voicemail - - Direct access to voicemail. - - + Microphone - Direct access to the microphone to record audio. + use device microphone Camera - Direct access to camera for image or video capture. + use device camera - Lock screen + Phone - Ability to affect behavior of the lock screen on your device. + use device telephony - Your applications information + Sensors - Ability to affect behavior of other applications on your device. - - - Wallpaper - - Change the device wallpaper settings. - - - Clock - - Change the device time or timezone. - - - Status Bar - - Change the device status bar settings. - - - Sync Settings - - Access to the sync settings. - - - Your accounts - - Access the available accounts. - - - Hardware controls - - Direct access to hardware on the handset. - - - Phone calls - - Monitor, record, and process phone calls. - - - System tools - - Lower-level access and control of the system. - - - Development tools - - Features only needed for app developers. - - - Other Application UI - - Effect the UI of other applications. - - - Storage - - Access the USB storage. - - Access the SD card. - - - Accessibility features - - Features that assistive technology can request. + access sensors and wearables Retrieve window content @@ -764,22 +662,6 @@ messages. This means the app could monitor or delete messages sent to your device without showing them to you. - - receive emergency broadcasts - - Allows the app to receive - and process emergency broadcast messages. This permission is only available - to system apps. - - - read cell broadcast messages - - Allows the app to read - cell broadcast messages received by your device. Cell broadcast alerts - are delivered in some locations to warn you of emergency situations. - Malicious apps may interfere with the performance or operation of your - device when an emergency cell broadcast is received. - send SMS messages @@ -787,13 +669,6 @@ This may result in unexpected charges. Malicious apps may cost you money by sending messages without your confirmation. - - send respond-via-message events - - Allows the app to send - requests to other messaging apps to handle respond-via-message events for incoming - calls. - read your text messages (SMS or MMS) @@ -831,13 +706,6 @@ WAP messages. This permission includes the ability to monitor or delete messages sent to you without showing them to you. - - receive Bluetooth messages (MAP) - - Allows the app to receive and process Bluetooth MAP - messages. This means the app could monitor or delete messages sent to your - device without showing them to you. - retrieve running apps @@ -845,85 +713,12 @@ about currently and recently running tasks. This may allow the app to discover information about which applications are used on the device. - - start a task from recents - - Allows the app to use an ActivityManager.RecentTaskInfo - object to launch a defunct task that was returned from ActivityManager.getRecentTaskList(). - - - interact across users - - Allows the app to perform actions - across different users on the device. Malicious apps may use this to violate - the protection between users. - - - full license to interact across users - - Allows all possible interactions across - users. - - - manage users - - Allows apps to manage users on the device, including query, creation and deletion. - - - retrieve details of running apps - - Allows the app to retrieve - detailed information about currently and recently running tasks. Malicious apps may - discover private information about other apps. - reorder running apps Allows the app to move tasks to the foreground and background. The app may do this without your input. - - stop running apps - - Allows the app to remove - tasks and kill their apps. Malicious apps may disrupt - the behavior of other apps. - - - manage activity stacks - - Allows the app to add, remove, and - modify the activity stacks in which other apps run. Malicious apps may disrupt - the behavior of other apps. - - - start any activity - - Allows the app to start any activity, regardless of permission protection or exported state. - - - set screen compatibility - - Allows the app to control the - screen compatibility mode of other applications. Malicious applications may - break the behavior of other applications. - - - enable app debugging - - Allows the app to turn - on debugging for another app. Malicious apps may use this - to kill other apps. - - - change system display settings - - Allows the app to - change the current configuration, such as the locale or overall font - size. - enable car mode @@ -937,176 +732,6 @@ background processes of other apps. This may cause other apps to stop running. - - force stop other apps - - Allows the app to forcibly stop other apps. - - - force app to close - - Allows the app to force any - activity that is in the foreground to close and go back. - Should never be needed for normal apps. - - - retrieve system internal state - - Allows the app to retrieve - internal state of the system. Malicious apps may retrieve - a wide variety of private and secure information that they should - never normally need. - - - retrieve screen content - - Allows the app to retrieve - the content of the active window. Malicious apps may retrieve - the entire window content and examine all its text except passwords. - - - temporary enable accessibility - - Allows an application to temporarily - enable accessibility on the device. Malicious apps may enable accessibility without - user consent. - - - retrieve window token - - Allows an application to retrieve - the window token. Malicious apps may perfrom unauthorized interaction with - the application window impersonating the system. - - - retrieve frame statistics - - Allows an application to collect - frame statistics. Malicious apps may observe the frame statistics - of windows from other apps. - - - filter events - - Allows an application to register an input filter - which filters the stream of all user events before they are dispatched. Malicious app - may control the system UI whtout user intervention. - - - partial shutdown - - Puts the activity manager into a shutdown - state. Does not perform a complete shutdown. - - - prevent app switches - - Prevents the user from switching to - another app. - - - get current app info - - Allows the holder to retrieve private information - about the current application in the foreground of the screen. - - - monitor and control all app launching - - Allows the app to - monitor and control how the system launches activities. - Malicious apps may completely compromise the system. This - permission is only needed for development, never for normal - use. - - - send package removed broadcast - - Allows the app to - broadcast a notification that an app package has been removed. - Malicious apps may use this to kill any other running - app. - - - send SMS-received broadcast - - Allows the app to - broadcast a notification that an SMS message has been received. - Malicious apps may use this to forge incoming SMS messages. - - - send WAP-PUSH-received broadcast - - Allows the app to - broadcast a notification that a WAP PUSH message has been received. - Malicious apps may use this to forge MMS message receipt or to - silently replace the content of any webpage with malicious variants. - - - - send privileged network broadcasts - - Allows the app - to send privileged network broadcasts. - Never needed for normal apps. - - - - limit number of running processes - - Allows the app - to control the maximum number of processes that will run. Never - needed for normal apps. - - - force background apps to close - - Allows the app - to control whether activities are always finished as soon as they - go to the background. Never needed for normal apps. - - - read battery statistics - - Allows an application to read the current low-level - battery use data. May allow the application to find out detailed information about - which apps you use. - - - modify battery statistics - - Allows the app to modify - collected battery statistics. Not for use by normal apps. - - - retrieve app ops statistics - - Allows the app to retrieve - collected application operation statistics. Not for use by normal apps. - - - modify app ops statistics - - Allows the app to modify - collected application operation statistics. Not for use by normal apps. - - - control system backup and restore - - Allows the app to control the system\'s backup and restore mechanism. Not for use by normal apps. - - - confirm a full backup or restore operation - - Allows the app to launch the full backup confirmation UI. Not to be used by any app. - - - display unauthorized windows - - Allows the app to create - windows that are intended to be used by the internal system - user interface. Not for use by normal apps. - draw over other apps @@ -1115,177 +740,6 @@ use of the interface in any application, or change what you think you are seeing in other applications. - - modify global animation speed - - Allows the app to change - the global animation speed (faster or slower animations) at any time. - - - manage app tokens - - Allows the app to - create and manage their own tokens, bypassing their normal - Z-ordering. Should never be needed for normal apps. - - - freeze screen - - Allows the application to temporarily freeze - the screen for a full-screen transition. - - - press keys and control buttons - - Allows the app to deliver - its own input events (key presses, etc.) to other apps. Malicious - apps may use this to take over the tablet. - - Allows the app to deliver - its own input events (key presses, etc.) to other apps. Malicious - apps may use this to take over the TV. - - Allows the app to deliver - its own input events (key presses, etc.) to other apps. Malicious - apps may use this to take over the phone. - - - record what you type and actions you take - - Allows the app to watch the - keys you press even when interacting with another app (such - as typing a password). Should never be needed for normal apps. - - - bind to an input method - - Allows the holder to bind to the top-level - interface of an input method. Should never be needed for normal apps. - - - bind to an accessibility service - - Allows the holder to bind to the top-level - interface of an accessibility service. Should never be needed for normal apps. - - - bind to a print service - - Allows the holder to bind to the top-level - interface of a print service. Should never be needed for normal apps. - - - bind to a print spooler service - - Allows the holder to bind to the top-level - interface of a print spooler service. Should never be needed for normal apps. - - - bind to NFC service - - Allows the holder to bind to applications - that are emulating NFC cards. Should never be needed for normal apps. - - - bind to a text service - - Allows the holder to bind to the top-level - interface of a text service(e.g. SpellCheckerService). Should never be needed for normal apps. - - - bind to a VPN service - - Allows the holder to bind to the top-level - interface of a Vpn service. Should never be needed for normal apps. - - - bind to a wallpaper - - Allows the holder to bind to the top-level - interface of a wallpaper. Should never be needed for normal apps. - - - bind to a voice interactor - - Allows the holder to bind to the top-level - interface of a voice interaction service. Should never be needed for normal apps. - - - manage voice keyphrases - - Allows the holder to manage the keyphrases for voice hotword detection. - Should never be needed for normal apps. - - - bind to a remote display - - Allows the holder to bind to the top-level - interface of a remote display. Should never be needed for normal apps. - - - bind to a widget service - - Allows the holder to bind to the top-level - interface of a widget service. Should never be needed for normal apps. - - - bind to a route provider service - - Allows the holder to bind to any registered - route providers. Should never be needed for normal apps. - - - interact with a device admin - - Allows the holder to send intents to - a device administrator. Should never be needed for normal apps. - - - bind to a TV input - - Allows the holder to bind to the top-level - interface of a TV input. Should never be needed for normal apps. - - - modify parental controls - - Allows the holder to modify the system\'s - parental controls data. Should never be needed for normal apps. - - - add or remove a device admin - - Allows the holder to add or remove active device - administrators. Should never be needed for normal apps. - - - change screen orientation - - Allows the app to change - the rotation of the screen at any time. Should never be needed for - normal apps. - - - change pointer speed - - Allows the app to change - the mouse or trackpad pointer speed at any time. Should never be needed for - normal apps. - - - change keyboard layout - - Allows the app to change - the keyboard layout. Should never be needed for normal apps. - - - send Linux signals to apps - - Allows the app to request that the - supplied signal be sent to all persistent processes. - make app always run @@ -1294,137 +748,11 @@ Allows the app to make parts of itself persistent in memory. This can limit memory available to other apps slowing down the TV. Allows the app to make parts of itself persistent in memory. This can limit memory available to other apps slowing down the phone. - - delete apps - - Allows the app to delete - Android packages. Malicious apps may use this to delete important apps. - - - delete other apps\' data - - Allows the app to clear user data. - - delete other apps\' caches - - Allows the app to delete - cache files. - measure app storage space Allows the app to retrieve its code, data, and cache sizes - - directly install apps - - Allows the app to install new or updated - Android packages. Malicious apps may use this to add new apps with arbitrarily - powerful permissions. - - - delete all app cache data - - Allows the app to free tablet storage - by deleting files in the cache directories of other applications. This may cause other - applications to start up more slowly as they need to re-retrieve their data. - - Allows the app to free TV storage - by deleting files in the cache directories of other applications. This may cause other - applications to start up more slowly as they need to re-retrieve their data. - - Allows the app to free phone storage - by deleting files in the cache directories of other applications. This may cause other - applications to start up more slowly as they need to re-retrieve their data. - - - move app resources - - Allows the app to move app resources from internal to external media and vice versa. - - - read sensitive log data - - Allows the app to read from the - system\'s various log files. This allows it to discover general - information about what you are doing with the tablet, potentially - including personal or private information. - - Allows the app to read from the - system\'s various log files. This allows it to discover general - information about what you are doing with the TV, potentially - including personal or private information. - - Allows the app to read from the - system\'s various log files. This allows it to discover general - information about what you are doing with the phone, potentially - including personal or private information. - - - use any media decoder for playback - - Allows the app to use any installed - media decoder to decode for playback. - - - manage trusted credentials - - Allows the app to install and uninstall CA certificates as trusted credentials. - - - run the application\'s scheduled background work - - This permission allows the Android system to run the application in the background when requested. - - - read/write to resources owned by diag - - Allows the app to read and write to - any resource owned by the diag group; for example, files in /dev. This could - potentially affect system stability and security. This should be ONLY be used - for hardware-specific diagnostics by the manufacturer or operator. - - - enable or disable app components - - Allows the app to change whether a - component of another app is enabled or not. Malicious apps may use this - to disable important tablet capabilities. Care must be used with this permission, as it is - possible to get app components into an unusable, inconsistent, or unstable state. - - - Allows the app to change whether a - component of another app is enabled or not. Malicious apps may use this - to disable important TV capabilities. Care must be used with this permission, as it is - possible to get app components into an unusable, inconsistent, or unstable state. - - - Allows the app to change whether a - component of another app is enabled or not. Malicious apps may use this - to disable important phone capabilities. Care must be used with this permission, as it is - possible to get app components into an unusable, inconsistent, or unstable state. - - - - grant or revoke permissions - - Allows an application to grant or revoke - specific permissions for it or other applications. Malicious applications may use this - to access features you have not granted them. - - - - set preferred apps - - Allows the app to - modify your preferred apps. Malicious apps may - silently change the apps that are run, spoofing your - existing apps to collect private data from you. - modify system settings @@ -1432,16 +760,6 @@ system\'s settings data. Malicious apps may corrupt your system\'s configuration. - modify secure system settings - Allows the app to modify the - system\'s secure settings data. Not for use by normal apps. - - - modify the Google services map - - Allows the app to modify the - Google services map. Not for use by normal apps. - run at startup @@ -1646,16 +964,8 @@ access extra location provider commands Allows the app to access - extra location provider commands. This may allow the app to interfere - with the operation of the GPS or other location sources. - - - permission to install a location provider - - Create mock location sources - for testing or install a new location provider. This allows the app to - override the location and/or status returned by other location sources - such as GPS or location providers. + extra location provider commands. This may allow the app to interfere + with the operation of the GPS or other location sources. precise location (GPS and @@ -1679,69 +989,7 @@ use them. Apps may use this to determine approximately where you are. - - access SurfaceFlinger - - Allows the app to use SurfaceFlinger low-level features. - - - read frame buffer - - Allows the app to read the content of the frame buffer. - - - access InputFlinger - - Allows the app to use InputFlinger low-level features. - - - configure Wifi displays - - Allows the app to configure and connect to Wifi displays. - - - control Wifi displays - - Allows the app to control low-level features of Wifi displays. - - - control Virtual Private Networks - - Allows the app to control low-level features of Virtual Private Networks. - - - capture audio output - - Allows the app to capture and redirect audio output. - - - Hotword detection - - Allows the app to capture audio for Hotword detection. The capture can - happen in the background but does not prevent other audio capture (e.g. Camcorder). - - - Audio Routing - - Allows the app to directly control audio routing and - override audio policy decisions. - - - capture video output - - Allows the app to capture and redirect video output. - - - capture secure video output - - Allows the app to capture and redirect secure video output. - - - control media playback and metadata access - - Allows the app to control media playback and access the media information (title, author...). - - + change your audio settings Allows the app to modify global audio settings such as volume and which speaker is used for output. @@ -1764,82 +1012,6 @@ Allows the app to take pictures and videos with the camera. This permission allows the app to use the camera at any time without your confirmation. - - disable transmit indicator LED when camera is in use - - Allows a pre-installed system application to disable the camera use indicator LED. - - Allows a pre-installed system application to send the camera service system events. - - - permanently disable tablet - - permanently disable TV - - permanently disable phone - - Allows the app to - disable the entire tablet permanently. This is very dangerous. - - Allows the app to - disable the entire TV permanently. This is very dangerous. - - Allows the app to - disable the entire phone permanently. This is very dangerous. - - - force tablet reboot - - force TV reboot - - force phone reboot - - Allows the app to force the tablet to reboot. - - Allows the app to force the TV to reboot. - - Allows the app to force the phone to reboot. - - - - access USB storage filesystem - - access SD Card filesystem - - Allows the app to mount and - unmount filesystems for removable storage. - - - erase USB storage - - erase SD Card - - Allows the app to format removable storage. - - - get information on internal storage - - Allows the app to get information on internal storage. - - - create internal storage - - Allows the app to create internal storage. - - - destroy internal storage - - Allows the app to destroy internal storage. - - - mount/unmount internal storage - - Allows the app to mount/unmount internal storage. - - - rename internal storage - - Allows the app to rename internal storage. control vibration @@ -1851,27 +1023,6 @@ Allows the app to control the flashlight. - - manage preferences and permissions for USB devices - - Allows the app to manage preferences and permissions for USB devices. - - - implement MTP protocol - - Allows access to the kernel MTP driver to implement the MTP USB protocol. - - - test hardware - - Allows the app to control - various peripherals for the purpose of hardware testing. - - - access FM radio - - Allows the app to access FM radio to listen to programs. - directly call phone numbers @@ -1881,57 +1032,6 @@ Malicious apps may cost you money by making calls without your confirmation. - - directly call any phone numbers - - Allows the app to call - any phone number, including emergency numbers, without your intervention. - Malicious apps may place unnecessary and illegal calls to emergency - services. - - - directly start CDMA tablet setup - - directly start CDMA TV setup - - directly start CDMA phone setup - - Allows the app to start CDMA provisioning. - Malicious apps may unnecessarily start CDMA provisioning. - - start SIM card setup - Allows the app to handle SIM activation requests. - The app may directly perform activation or may delegate to another app. - - - control location update notifications - - Allows the app to enable/disable location - update notifications from the radio. Not for use by normal apps. - - - access checkin properties - - Allows the app read/write access to - properties uploaded by the checkin service. Not for use by normal - apps. - - - choose widgets - - Allows the app to tell the system - which widgets can be used by which app. An app with this permission - can give access to personal data to other apps. - Not for use by normal apps. - - - modify phone state - - Allows the app to control the - phone features of the device. An app with this permission can switch - networks, turn the phone radio on and off and the like without ever notifying - you. - read phone status and identity @@ -1940,14 +1040,6 @@ phone number and device IDs, whether a call is active, and the remote number connected by a call. - - read precise phone states - - Allows the app to access the precise - phone states. This permission allows the app to determine the real - call status, whether a call is active or in the background, call fails, - precise data connection status and data connection fails. - prevent tablet from sleeping @@ -1970,42 +1062,6 @@ Allows the app to use the phone\'s infrared transmitter. - - - power tablet on or off - - power TV on or off - - power phone on or off - - Allows the app to turn the - tablet on or off. - - Allows the app to turn the - TV on or off. - - Allows the app to turn the phone on or off. - - - reset display timeout - - Allows the app to reset the display timeout. - - - run in factory test mode - - Run as a low-level manufacturer test, - allowing complete access to the tablet hardware. Only available - when a tablet is running in manufacturer test mode. - - Run as a low-level manufacturer test, - allowing complete access to the TV hardware. Only available - when a TV is running in manufacturer test mode. - - Run as a low-level manufacturer test, - allowing complete access to the phone hardware. Only available - when a phone is running in manufacturer test mode. - set wallpaper @@ -2016,22 +1072,6 @@ Allows the app to set the system wallpaper size hints. - - reset system to factory defaults - - Allows the app to completely - reset the system to its factory settings, erasing all data, - configuration, and installed apps. - - - set time - - Allows the app to change the tablet\'s clock time. - - Allows the app to change the TV\'s clock time. - - Allows the app to change the phone\'s clock time. - set time zone @@ -2041,11 +1081,6 @@ Allows the app to change the phone\'s time zone. - - act as the AccountManagerService - - Allows the app to make calls to AccountAuthenticators. - find accounts on the device @@ -2061,6 +1096,7 @@ the list of accounts known by the phone. This may include any accounts created by applications you have installed. + create accounts and set passwords @@ -2096,14 +1132,7 @@ applications provide means to send data to the internet, so this permission is not required to send data to the internet. - - change/intercept network settings and traffic - - Allows the app to change network settings and to intercept and inspect all network traffic, - for example to change the proxy and port of any APN. Malicious apps may monitor, redirect, or modify network - packets without your knowledge. - - + change network connectivity Allows the app to change the state of network connectivity. @@ -2113,11 +1142,6 @@ Allows the app to change the state of tethered network connectivity. - - change background data usage setting - - Allows the app to change the background data usage setting. - view Wi-Fi connections @@ -2146,7 +1170,7 @@ packets sent to all devices on a Wi-Fi network using multicast addresses, not just your phone. It uses more power than the non-multicast mode. - + access Bluetooth settings Allows the app to @@ -2160,27 +1184,6 @@ Allows the app to configure the local Bluetooth phone, and to discover and pair with remote devices. - - allow Bluetooth pairing by Application - - Allows the app to - pair with remote devices without user interaction. - - Allows the app to - pair with remote devices without user interaction. - - Allows the app to - pair with remote devices without user interaction. - - - access Bluetooth MAP data - - Allows the app to access Bluetooth MAP data. - - Allows the app to access Bluetooth MAP data. - - Allows the app to access Bluetooth MAP data. - connect and disconnect from WiMAX Allows the app to determine whether WiMAX is enabled and information about any WiMAX networks that are @@ -2194,19 +1197,7 @@ Allows the app to connect the phone to and disconnect the phone from WiMAX networks. - - score networks - - Allows the app to - rank networks and influence which networks the tablet should prefer. - - Allows the app to - rank networks and influence which networks the TV should prefer. - - Allows the app to - rank networks and influence which networks the phone should prefer. - - + pair with Bluetooth devices Allows the app to view the @@ -2289,17 +1280,6 @@ Allows an app to read the sync stats for an account, including the history of sync events and how much data is synced. - - read subscribed feeds - - Allows the app to get details about the currently synced feeds. - - - write subscribed feeds - - Allows the app to modify - your currently synced feeds. Malicious apps may change your synced feeds. - read terms you added to the dictionary @@ -2330,143 +1310,12 @@ Allows the app to write to the SD card. - - modify/delete internal media storage contents - - Allows the app to modify the contents of the internal media storage. - - - manage document storage - - Allows the app to manage document storage. - - - access external storage of all users - - Allows the app to access external storage for all users. - - - access the cache filesystem - - Allows the app to read and write the cache filesystem. make/receive SIP calls Allows the app to make and receive SIP calls. - - register new telecom SIM connections - - Allows the app to register new telecom SIM connections. - - - register new telecom connections - - Allows the app to register new telecom connections. - - - manage telecom connections - - Allows the app to manage telecom connections. - - - interact with in-call screen - - Allows the app to control when and how the user sees the in-call screen. - - - interact with telephony services - - Allows the app to interact with telephony services to make/receive calls. - - - provide an in-call user experience - - Allows the app to provide an in-call user experience. - - - read historical network usage - - Allows the app to read historical network usage for specific networks and apps. - - - manage network policy - - Allows the app to manage network policies and define app-specific rules. - - - modify network usage accounting - - Allows the app to modify how network usage is accounted against apps. Not for use by normal apps. - - - access notifications - - Allows the app to retrieve, examine, and clear notifications, including those posted by other apps. - - - bind to a notification listener service - - Allows the holder to bind to the top-level interface of a notification listener service. Should never be needed for normal apps. - - - bind to a chooser target service - - Allows the holder to bind to the top-level interface of a chooser target service. Should never be needed for normal apps. - - - bind to a condition provider service - - Allows the holder to bind to the top-level interface of a condition provider service. Should never be needed for normal apps. - - - bind to a media route service - - Allows the holder to bind to the top-level interface of a media route service. Should never be needed for normal apps. - - - bind to a dream service - - Allows the holder to bind to the top-level interface of a dream service. Should never be needed for normal apps. - - - invoke the carrier-provided configuration app - - Allows the holder to invoke the carrier-provided configuration app. Should never be needed for normal apps. - - - listen for observations on network conditions - - Allows an application to listen for observations on network conditions. Should never be needed for normal apps. - - change input device calibration - - Allows the app to modify the calibration parameters of the touch screen. Should never be needed for normal apps. - - - access DRM certificates - - Allows an application to provision and use DRM certficates. Should never be needed for normal apps. - - Receive Android Beam transfer status - Allows this application to receive information about current Android Beam transfers - - - remove DRM certificates - - Allows an application to remove DRM certficates. Should never be needed for normal apps. - - - bind to a carrier messaging service - - Allows the holder to bind to the top-level interface of a carrier messaging service. Should never be needed for normal apps. - - - interact with voice interaction service - - Allows the holder to interact with the currently active voice interaction service. Should never be needed for normal apps. - @@ -3331,22 +2180,13 @@ applications with web browsing capabilities. + they want to allow the application to do this. --> set an alarm Allows the app to set an alarm in - an installed alarm clock app. Some alarm clock apps may - not implement this feature. - - - write voicemails - - Allows the app to modify and remove messages from your voicemail inbox. + an installed alarm clock app. Some alarm clock apps may + not implement this feature. @@ -3356,13 +2196,6 @@ Allows the app to add messages to your voicemail inbox. - - read voicemail - - Allows the app to read your voicemails. - modify Browser geolocation permissions @@ -3372,55 +2205,6 @@ Browser\'s geolocation permissions. Malicious apps may use this to allow sending location information to arbitrary web sites. - - verify packages - - Allows the app to verify a package is - installable. - - - bind to a package verifier - - Allows the holder to make requests of - package verifiers. Should never be needed for normal apps. - - - verify intent filter - - Allows the app to check if an intent filter - is verified or not. - - - bind to an intent filter verifier - - Allows the holder to make requests of - intent filter verifiers. Should never be needed for normal apps. - - - access serial ports - - Allows the holder to access serial ports using the SerialManager API. - - - access content providers externally - - Allows the holder to access content - providers from the shell. Should never be needed for normal apps. - - discourage automatic device updates - - Allows the holder to offer information to the system about when would be a good time for a noninteractive reboot to upgrade the device. - Do you want the browser to remember this password? @@ -4139,61 +2923,11 @@ No matching activities found. - - - update component usage statistics - - Allows the app to modify collected component usage statistics. Not for use by normal apps. - - - - copy content - - Allows the app to invoke default container service to copy content. Not for use by normal apps. - Route media output Allows an application to route media output to other external devices. - - Access keyguard secure storage - - Allows an application to access keguard secure storage. - - - Control displaying and hiding keyguard - - Allows an application to control keguard. - - - Listen to trust state changes. - - Allows an application to listen for changes in trust state. - - - Provide a trust agent. - - Allows an application to provide a trust agent. - - Launch trust agent settings menu. - - Allows an application to launch an activity that changes the trust agent behavior. - - Bind to a trust agent service - - Allows an application to bind to a trust agent service. - - - Interact with update and recovery system - - Allows an application to interact with the recovery system and system updates. - - - Manage media projection sessions - - Allows an application to manage media projection sessions. These sessions can provide applications the ability to capture display and audio contents. Should never be needed by normal apps. - Read install sessions