Android Permissions List With Example
Android Permissions List With Example
Here we find complete Android Permissions List With Example. Here we will learn details about list of all Android Permissions along with very simple example. Android applications use different android permissions for different modules while developing android applications. For example: If we develop an android application for phone contact module, then we need to add the 2 android permissions (android.permission.READ_CONTACTS, android.permission.WRITE_CONTACTS) to access Phone contact module in application’s Manifest.xml file. Similarly if we develop an android application for reading Phone States, then we need to add the corresponding Android permission (android.permission.READ_PHONE_STATE) to access Phone States change notifications.
We need to take care of the below points while add any android permission in the Manifest file.
- All permissions must be add in the project Manifest.xml file.
- All permissions must be add above the entry of any activity, service or receiver or action in the Manifest file.
- all permissions must be included in the use tag, example: <uses-permission android:name=”android.permission.READ_CONTACTS”></uses-permission>
Below is the sample code for how to add android permissions in Manifest file for an Android project.
Sample Code for How to Add Android Permissions in Manifest file
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.techblogon.hellopermissionexample" android:versionCode="1" android:versionName="1.0"> <!-- we have added 9 different android permissions below--> <uses-permission android:name="android.permission.CALL_PHONE"></uses-permission> <uses-permission android:name="android.permission.MODIFY_PHONE_STATE"></uses-permission> <uses-permission android:name="android.permission.CALL_PRIVILEGED"></uses-permission> <uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS" ></uses-permission> <uses-permission android:name="android.permission.READ_PHONE_STATE" ></uses-permission> <uses-permission android:name="android.permission.READ_CONTACTS"></uses-permission> <uses-permission android:name="android.permission.WRITE_CONTACTS"></uses-permission> <uses-permission android:name="android.permission.PERSISTENT_ACTIVITY"></uses-permission> <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"></uses-permission> <!-- permissions end--> <application android:icon="@drawable/icon" android:debuggable="true" android:label="@string/app_name"> <activity android:name=".HelloPermissionExample" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> <uses-sdk android:minSdkVersion="8" /> </manifest> |
Manifest Android Permissions List for Android Apps
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 |
CALL_PHONE = "android.permission.CALL_PHONE"; MODIFY_PHONE_STATE = "android.permission.MODIFY_PHONE_STATE"; CALL_PRIVILEGED = "android.permission.CALL_PRIVILEGED"; READ_PHONE_STATE = "android.permission.READ_PHONE_STATE"; READ_CALL_LOG = "android.permission.READ_CALL_LOG"; READ_CONTACTS = "android.permission.READ_CONTACTS"; WRITE_CONTACTS = "android.permission.WRITE_CONTACTS"; LOCATION = "android.permission-group.LOCATION"; NETWORK = "android.permission-group.NETWORK"; REBOOT = "android.permission.REBOOT"; RECEIVE_BOOT_COMPLETED = "android.permission.RECEIVE_BOOT_COMPLETED"; INTERNET = "android.permission.INTERNET"; WRITE_SMS = "android.permission.WRITE_SMS"; BROADCAST_SMS = "android.permission.BROADCAST_SMS"; MESSAGES = "android.permission-group.MESSAGES"; PHONE_CALLS = "android.permission-group.PHONE_CALLS"; STORAGE = "android.permission-group.STORAGE"; DEVICE_POWER = "android.permission.DEVICE_POWER"; MOUNT_FORMAT_FILESYSTEMS = "android.permission.MOUNT_FORMAT_FILESYSTEMS"; MOUNT_UNMOUNT_FILESYSTEMS = "android.permission.MOUNT_UNMOUNT_FILESYSTEMS"; ACCESS_CHECKIN_PROPERTIES = "android.permission.ACCESS_CHECKIN_PROPERTIES"; ACCESS_COARSE_LOCATION = "android.permission.ACCESS_COARSE_LOCATION"; ACCESS_FINE_LOCATION = "android.permission.ACCESS_FINE_LOCATION"; ACCESS_LOCATION_EXTRA_COMMANDS = "android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"; ACCESS_NETWORK_STATE = "android.permission.ACCESS_NETWORK_STATE"; ACCESS_MOCK_LOCATION = "android.permission.ACCESS_MOCK_LOCATION"; ACCESS_SURFACE_FLINGER = "android.permission.ACCESS_SURFACE_FLINGER"; ACCESS_WIFI_STATE = "android.permission.ACCESS_WIFI_STATE"; ACCOUNT_MANAGER = "android.permission.ACCOUNT_MANAGER"; ADD_VOICEMAIL = "com.android.voicemail.permission.ADD_VOICEMAIL"; AUTHENTICATE_ACCOUNTS = "android.permission.AUTHENTICATE_ACCOUNTS"; BATTERY_STATS = "android.permission.BATTERY_STATS"; BIND_ACCESSIBILITY_SERVICE = "android.permission.BIND_ACCESSIBILITY_SERVICE"; BIND_APPWIDGET = "android.permission.BIND_APPWIDGET"; BIND_DEVICE_ADMIN = "android.permission.BIND_DEVICE_ADMIN"; BIND_INPUT_METHOD = "android.permission.BIND_INPUT_METHOD"; BIND_REMOTEVIEWS = "android.permission.BIND_REMOTEVIEWS"; BIND_TEXT_SERVICE = "android.permission.BIND_TEXT_SERVICE"; BIND_VPN_SERVICE = "android.permission.BIND_VPN_SERVICE"; BIND_WALLPAPER = "android.permission.BIND_WALLPAPER"; BLUETOOTH = "android.permission.BLUETOOTH"; BLUETOOTH_ADMIN = "android.permission.BLUETOOTH_ADMIN"; BRICK = "android.permission.BRICK"; BROADCAST_PACKAGE_REMOVED = "android.permission.BROADCAST_PACKAGE_REMOVED"; BROADCAST_STICKY = "android.permission.BROADCAST_STICKY"; BROADCAST_WAP_PUSH = "android.permission.BROADCAST_WAP_PUSH"; CAMERA = "android.permission.CAMERA"; CHANGE_COMPONENT_ENABLED_STATE = "android.permission.CHANGE_COMPONENT_ENABLED_STATE"; CHANGE_CONFIGURATION = "android.permission.CHANGE_CONFIGURATION"; CHANGE_NETWORK_STATE = "android.permission.CHANGE_NETWORK_STATE"; CHANGE_WIFI_MULTICAST_STATE = "android.permission.CHANGE_WIFI_MULTICAST_STATE"; CHANGE_WIFI_STATE = "android.permission.CHANGE_WIFI_STATE"; CLEAR_APP_CACHE = "android.permission.CLEAR_APP_CACHE"; CLEAR_APP_USER_DATA = "android.permission.CLEAR_APP_USER_DATA"; CONTROL_LOCATION_UPDATES = "android.permission.CONTROL_LOCATION_UPDATES"; DELETE_CACHE_FILES = "android.permission.DELETE_CACHE_FILES"; DELETE_PACKAGES = "android.permission.DELETE_PACKAGES"; DIAGNOSTIC = "android.permission.DIAGNOSTIC"; DISABLE_KEYGUARD = "android.permission.DISABLE_KEYGUARD"; DUMP = "android.permission.DUMP"; EXPAND_STATUS_BAR = "android.permission.EXPAND_STATUS_BAR"; FACTORY_TEST = "android.permission.FACTORY_TEST"; FLASHLIGHT = "android.permission.FLASHLIGHT"; FORCE_BACK = "android.permission.FORCE_BACK"; GET_ACCOUNTS = "android.permission.GET_ACCOUNTS"; GET_PACKAGE_SIZE = "android.permission.GET_PACKAGE_SIZE"; GET_TASKS = "android.permission.GET_TASKS"; GLOBAL_SEARCH = "android.permission.GLOBAL_SEARCH"; HARDWARE_TEST = "android.permission.HARDWARE_TEST"; INJECT_EVENTS = "android.permission.INJECT_EVENTS"; INSTALL_LOCATION_PROVIDER = "android.permission.INSTALL_LOCATION_PROVIDER"; INSTALL_PACKAGES = "android.permission.INSTALL_PACKAGES"; INTERNAL_SYSTEM_WINDOW = "android.permission.INTERNAL_SYSTEM_WINDOW"; KILL_BACKGROUND_PROCESSES = "android.permission.KILL_BACKGROUND_PROCESSES"; MANAGE_ACCOUNTS = "android.permission.MANAGE_ACCOUNTS"; MANAGE_APP_TOKENS = "android.permission.MANAGE_APP_TOKENS"; MASTER_CLEAR = "android.permission.MASTER_CLEAR"; MODIFY_AUDIO_SETTINGS = "android.permission.MODIFY_AUDIO_SETTINGS"; NFC = "android.permission.NFC"; PERSISTENT_ACTIVITY = "android.permission.PERSISTENT_ACTIVITY"; PROCESS_OUTGOING_CALLS = "android.permission.PROCESS_OUTGOING_CALLS"; READ_CALENDAR = "android.permission.READ_CALENDAR"; READ_EXTERNAL_STORAGE = "android.permission.READ_EXTERNAL_STORAGE"; READ_FRAME_BUFFER = "android.permission.READ_FRAME_BUFFER"; READ_HISTORY_BOOKMARKS = "com.android.browser.permission.READ_HISTORY_BOOKMARKS"; READ_INPUT_STATE = "android.permission.READ_INPUT_STATE"; READ_LOGS = "android.permission.READ_LOGS"; READ_PROFILE = "android.permission.READ_PROFILE"; READ_SMS = "android.permission.READ_SMS"; READ_SOCIAL_STREAM = "android.permission.READ_SOCIAL_STREAM"; READ_SYNC_SETTINGS = "android.permission.READ_SYNC_SETTINGS"; READ_SYNC_STATS = "android.permission.READ_SYNC_STATS"; READ_USER_DICTIONARY = "android.permission.READ_USER_DICTIONARY"; RECEIVE_MMS = "android.permission.RECEIVE_MMS"; RECEIVE_SMS = "android.permission.RECEIVE_SMS"; RECEIVE_WAP_PUSH = "android.permission.RECEIVE_WAP_PUSH"; RECORD_AUDIO = "android.permission.RECORD_AUDIO"; REORDER_TASKS = "android.permission.REORDER_TASKS"; RESTART_PACKAGES = "android.permission.RESTART_PACKAGES"; SEND_SMS = "android.permission.SEND_SMS"; SET_ACTIVITY_WATCHER = "android.permission.SET_ACTIVITY_WATCHER"; SET_ALARM = "com.android.alarm.permission.SET_ALARM"; SET_ALWAYS_FINISH = "android.permission.SET_ALWAYS_FINISH"; SET_ANIMATION_SCALE = "android.permission.SET_ANIMATION_SCALE"; SET_DEBUG_APP = "android.permission.SET_DEBUG_APP"; SET_ORIENTATION = "android.permission.SET_ORIENTATION"; SET_POINTER_SPEED = "android.permission.SET_POINTER_SPEED"; SET_PREFERRED_APPLICATIONS = "android.permission.SET_PREFERRED_APPLICATIONS"; SET_PROCESS_LIMIT = "android.permission.SET_PROCESS_LIMIT"; SET_TIME = "android.permission.SET_TIME"; SET_TIME_ZONE = "android.permission.SET_TIME_ZONE"; SET_WALLPAPER = "android.permission.SET_WALLPAPER"; SET_WALLPAPER_HINTS = "android.permission.SET_WALLPAPER_HINTS"; SIGNAL_PERSISTENT_PROCESSES = "android.permission.SIGNAL_PERSISTENT_PROCESSES"; STATUS_BAR = "android.permission.STATUS_BAR"; SUBSCRIBED_FEEDS_READ = "android.permission.SUBSCRIBED_FEEDS_READ"; SUBSCRIBED_FEEDS_WRITE = "android.permission.SUBSCRIBED_FEEDS_WRITE"; SYSTEM_ALERT_WINDOW = "android.permission.SYSTEM_ALERT_WINDOW"; UPDATE_DEVICE_STATS = "android.permission.UPDATE_DEVICE_STATS"; USE_CREDENTIALS = "android.permission.USE_CREDENTIALS"; USE_SIP = "android.permission.USE_SIP"; VIBRATE = "android.permission.VIBRATE"; WAKE_LOCK = "android.permission.WAKE_LOCK"; WRITE_APN_SETTINGS = "android.permission.WRITE_APN_SETTINGS"; WRITE_CALENDAR = "android.permission.WRITE_CALENDAR"; WRITE_CALL_LOG = "android.permission.WRITE_CALL_LOG"; WRITE_PROFILE = "android.permission.WRITE_PROFILE"; WRITE_EXTERNAL_STORAGE = "android.permission.WRITE_EXTERNAL_STORAGE"; WRITE_GSERVICES = "android.permission.WRITE_GSERVICES"; WRITE_HISTORY_BOOKMARKS = "com.android.browser.permission.WRITE_HISTORY_BOOKMARKS"; WRITE_SECURE_SETTINGS = "android.permission.WRITE_SECURE_SETTINGS"; WRITE_SETTINGS = "android.permission.WRITE_SETTINGS"; COST_MONEY = "android.permission-group.COST_MONEY"; WRITE_SOCIAL_STREAM = "android.permission.WRITE_SOCIAL_STREAM"; WRITE_SYNC_SETTINGS = "android.permission.WRITE_SYNC_SETTINGS"; WRITE_USER_DICTIONARY = "android.permission.WRITE_USER_DICTIONARY"; ACCOUNTS = "android.permission-group.ACCOUNTS"; DEVELOPMENT_TOOLS = "android.permission-group.DEVELOPMENT_TOOLS"; HARDWARE_CONTROLS = "android.permission-group.HARDWARE_CONTROLS"; PERSONAL_INFO = "android.permission-group.PERSONAL_INFO"; SYSTEM_TOOLS = "android.permission-group.SYSTEM_TOOLS"; |
Detailed Description for All Android Permissions List
| Manifest Permission Strings | Description |
CALL_PHONE |
Allows an application to initiate a phone call without going through the Dialer user interface for the user to confirm the call being placed. |
MODIFY_PHONE_STATE |
Allows modification of the telephony state – power on, mmi, etc. |
READ_PHONE_STATE |
Allows read only access to phone state. |
READ_LOGS |
Allows an application to read the low-level system log files. |
WRITE_SMS |
Allows an application to write SMS messages. |
CHANGE_NETWORK_STATE |
Allows applications to change network connectivity state |
PROCESS_OUTGOING_CALLS |
Allows an application to monitor, modify, or abort outgoing calls. |
READ_CALL_LOG |
Allows an application to read the user’s call log. |
READ_CONTACTS |
Allows an application to read the user’s contacts data. |
READ_CALENDAR |
Allows an application to read the user’s calendar data. |
RECEIVE_BOOT_COMPLETED |
Allows an application to receive the ACTION_BOOT_COMPLETED that is broadcast after the system finishes booting. |
ACCESS_CHECKIN_PROPERTIES |
Allows read/write access to the “properties” table in the checkin database, to change values that get uploaded. |
ACCESS_FINE_LOCATION |
Allows an app to access precise location from location sources such as GPS, cell towers, and Wi-Fi. |
ACCESS_COARSE_LOCATION |
Allows an app to access approximate location derived from network location sources such as cell towers and Wi-Fi. |
ACCESS_MOCK_LOCATION |
Allows an application to create mock location providers for testing |
ACCESS_NETWORK_STATE |
Allows applications to access information about networks |
ACCESS_SURFACE_FLINGER |
Allows an application to use SurfaceFlinger’s low level features |
ACCESS_WIFI_STATE |
Allows applications to access information about Wi-Fi networks |
ACCOUNT_MANAGER |
Allows applications to call into AccountAuthenticators. |
ADD_VOICEMAIL |
Allows an application to add voicemails into the system. |
AUTHENTICATE_ACCOUNTS |
Allows an application to act as an AccountAuthenticator for the AccountManager |
BATTERY_STATS |
Allows an application to collect battery statistics |
BIND_ACCESSIBILITY_SERVICE |
Must be required by an AccessibilityService, to ensure that only the system can bind to it. |
BIND_APPWIDGET |
Allows an application to tell the AppWidget service which application can access AppWidget’s data. |
BIND_DEVICE_ADMIN |
Must be required by device administration receiver, to ensure that only the system can interact with it. |
BIND_INPUT_METHOD |
Must be required by an InputMethodService, to ensure that only the system can bind to it. |
BIND_REMOTEVIEWS |
Must be required by a RemoteViewsService, to ensure that only the system can bind to it. |
BIND_TEXT_SERVICE |
Must be required by a TextService (e.g. |
BIND_VPN_SERVICE |
Must be required by an VpnService, to ensure that only the system can bind to it. |
BIND_WALLPAPER |
Must be required by a WallpaperService, to ensure that only the system can bind to it. |
BLUETOOTH |
Allows applications to connect to paired bluetooth devices |
BLUETOOTH_ADMIN |
Allows applications to discover and pair bluetooth devices |
BRICK |
Required to be able to disable the device (very dangerous!). |
BROADCAST_PACKAGE_REMOVED |
Allows an application to broadcast a notification that an application package has been removed. |
BROADCAST_SMS |
Allows an application to broadcast an SMS receipt notification |
BROADCAST_STICKY |
Allows an application to broadcast sticky intents. |
BROADCAST_WAP_PUSH |
Allows an application to broadcast a WAP PUSH receipt notification |
CALL_PRIVILEGED |
Allows an application to call any phone number, including emergency numbers, without going through the Dialer user interface for the user to confirm the call being placed. |
CAMERA |
Required to be able to access the camera device. |
CHANGE_COMPONENT_ENABLED_STATE |
Allows an application to change whether an application component (other than its own) is enabled or not. |
CHANGE_CONFIGURATION |
Allows an application to modify the current configuration, such as locale. |
CHANGE_WIFI_MULTICAST_STATE |
Allows applications to enter Wi-Fi Multicast mode |
CHANGE_WIFI_STATE |
Allows applications to change Wi-Fi connectivity state |
CLEAR_APP_CACHE |
Allows an application to clear the caches of all installed applications on the device. |
CLEAR_APP_USER_DATA |
Allows an application to clear user data |
CONTROL_LOCATION_UPDATES |
Allows enabling/disabling location update notifications from the radio. |
DELETE_CACHE_FILES |
Allows an application to delete cache files. |
DELETE_PACKAGES |
Allows an application to delete packages. |
DEVICE_POWER |
Allows low-level access to power management |
DIAGNOSTIC |
Allows applications to RW to diagnostic resources. |
DISABLE_KEYGUARD |
Allows applications to disable the keyguard |
I hope this small tutorial will help you at it’s best.
Post By SmrutiRanjan (47 Posts)
Working @ Samsung as a Project Lead for Android Smartphones. I have been blogging since 2008. Previously I was writing articles for other bloggers, but finally I have started my own blog-"Techblogon".I am also an active contributor for the blog-"Gadgets n Gizmos World". Job is my necessity, but blogging is my passion.
Website: → Techblogon







Previous Page
Android Tutorial Home Page









I have been blogging since 2008. Previously I was writing articles for other bloggers, but finally I have started my own blog-"Techblogon". Techblogon is a technology blog. We regularly update this blog with really nice and helpful tips n tricks, latest updates on new technologies. I am also an active contributor for the blog-"Gadgets and Gizmos World".
Job is my necessity, but blogging is my passion.
Connect with me on
Thank you incredibly substantially for your exciting text. I have been looking for these types of message to get a definitely very long time. Thank you.
Спасибо большое за прекрасные уроки.
С уважением
Al_Sha
thanks brother..