参考资料:
http://developer.android.com/reference/android/Manifest.permission.html
http://developer.android.com/guide/topics/manifest/uses-permission-element.html
<uses-permission>是<manifest>的直接子节点。可以有多个,用于列出该应用所有需要的系统权限,否则应用中需要相关权限的地方将无法正常运行。
应用在安装的时候将会把这些权限展示给用户,只有用户允许之后才能安装。
语法:
<uses-permission android:name="string" android:maxSdkVersion="integer" />
属性:
android:name
权限名称。这可以是系统标准的权限名,比如像”android.permission.CAMERA",”android.permission.READ_CONTACTS”这些,也可以是别的应用程序在<permission>中定义的权限。
android:maxSdkVersion
让这条权限声明在某个SDK版本之后无效。因为有些权限可能在某个SDK版本号之后就不再需要了,比如”WRITE_EXTERNAL_STORAGE”在4.4(api19)及以后就不需要了。
系统标准权限表:
ACCESS_CHECKIN_PROPERTIES: Allows read/write access to the "properties" table in the checkin database, to change values that get uploaded.
checkin database是google map里的一个功能,手机自动记录你到过的地方
ACCESS_COARSE_LOCATION: Allows an app to access approximate location derived from network location sources such as cell towers and Wi-Fi.
允许通过基站或者wifi获得大概的位置。相关类LocationManager
ACCESS_FINE_LOCATION: Allows an app to access precise location from location sources such as GPS, cell towers, and Wi-Fi.
允许通过GPS,基站或者wifi获得精确的位置。相关类LocationManager
ACCESS_LOCATION_EXTRA_COMMANDS: Allows an application to access extra location provider commands
有关GPS定位获取的信息使用GPS LocationProvider类的相关定位信息必需声明。相关类LocationManager
ACCESS_MOCK_LOCATION: Allows an application to create mock location providers for testing
有关GPS定位获取的信息使用GPS LocationProvider类的相关定位信息必需声明。相关类LocationManager
ACCESS_NETWORK_STATE: Allows applications to access information about networks
获取网络状态。相关类ConnectivityManager
ACCESS_SURFACE_FLINGER: Allows an application to use SurfaceFlinger's low level features.
Android平台自身提供了一个底层的显示接口FLINGER服务,要使用这个服务需要这个权限。mSurfaceSession = new SurfaceSession();
ACCESS_WIFI_STATE: Allows applications to access information about Wi-Fi networks
获取wifi状态信息。WifiManager wm=(WifiManager)getSystemService(Context.WIFI_SERVICE);
ACCOUNT_MANAGER: Allows applications to call into AccountAuthenticators.
用户账户管理需要的权限。相关类AccountManager
ADD_VOICEMAIL: Allows an application to add voicemails into the system.
向用户邮箱中添加语音邮件。相关类VoicemailContract
AUTHENTICATE_ACCOUNTS: Allows an application to act as an AccountAuthenticator for the AccountManager
账户认证相关权限。相关类AccountManager
BATTERY_STATS: Allows an application to collect battery statistics
电池状态相关权限。相关类BatteryManager
BIND_ACCESSIBILITY_SERVICE: Must be required by an AccessibilityService, to ensure that only the system can bind to it.
辅助服务相关权限。相关类AccessibilityService
BIND_APPWIDGET: Allows an application to tell the AppWidget service which application can access AppWidget's data.
相关类AppWidgetService
BIND_DEVICE_ADMIN: Must be required by device administration receiver, to ensure that only the system can interact with it.
设备管理服务相关权限。相关类DeviceAdminReceiver
BIND_DREAM_SERVICE: Must be required by an DreamService, to ensure that only the system can bind to it.
白日梦功能相关权限。相关类DreamService
BIND_INPUT_METHOD: Must be required by an InputMethodService, to ensure that only the system can bind to it.
输入法相关权限。相关类InputMethodService
BIND_NFC_SERVICE: Must be required by a HostApduService or OffHostApduService to ensure that only the system can bind to it.
NFC通信所需权限。相关类HostApduService,OffHostApduService
BIND_NOTIFICATION_LISTENER_SERVICE: Must be required by an NotificationListenerService, to ensure that only the system can bind to it.
监听通知消息的权限。相关类NotificationListenerService
BIND_PRINT_SERVICE: Must be required by a PrintService, to ensure that only the system can bind to it.
打印相关权限。相关类PrintService
BIND_REMOTEVIEWS: Must be required by a RemoteViewsService, to ensure that only the system can bind to it.
widget相关权限。相关类RemoteViewsService
BIND_TEXT_SERVICE: Must be required by a TextService
输入法相关权限。相关类TextService
BIND_TV_INPUT: Must be required by a TvInputService to ensure that only the system can bind to it.
相关类TvInputService
BIND_VOICE_INTERACTION: Must be required by a VoiceInteractionService, to ensure that only the system can bind to it.
语音识别相关权限。相关类VoiceInteractionService
BIND_VPN_SERVICE: Must be required by a VpnService, to ensure that only the system can bind to it.
VPN相关权限。相关类VpnService
BIND_WALLPAPER: Must be required by a WallpaperService, to ensure that only the system can bind to it.
墙纸相关权限。相关类WallpaperService
BLUETOOTH: Allows applications to connect to paired bluetooth devices
蓝牙连接权限。相关类BluetoothAdapter
BLUETOOTH_ADMIN: Allows applications to discover and pair bluetooth devices
蓝牙发现和配对设备权限。相关类BluetoothAdapter
BLUETOOTH_PRIVILEGED: Allows applications to pair bluetooth devices without user interaction, and to allow or disallow phonebook access or message access.
允许不提醒用户的情况下的蓝牙设备发现与配对。相关类BluetoothAdapter
BODY_SENSORS: Allows an application to access data from sensors that the user uses to measure what is happening inside his/her body, such as heart rate.
身体传感器权限。
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.
接收SMS_DELIVER_ACTION权限。相关类Telephony.Sms.Intents
BROADCAST_STICKY: Allows an application to broadcast sticky intents.
发送粘性广播权限。相关方法sendStickyBroadcast
BROADCAST_WAP_PUSH: Allows an application to broadcast a WAP PUSH receipt notification.
接受WAP_PUSH_DELIVER_ACTION权限。相关类Telephony.Sms.Intents
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.
应用拨打电话权限。相关代码
Uri uri = Uri.parse("tel:12345678");
Intent intent = new Intent(Intent.ACTION_CALL, uri);
startActivity(intent);
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.
调用摄像头权限。相关类Camera
CAPTURE_AUDIO_OUTPUT: Allows an application to capture audio output.
捕获系统内部扬声器声音权限。相关类AudioRecord
CAPTURE_SECURE_VIDEO_OUTPUT: Allows an application to capture secure video output.
捕获私有视频输出权限
CAPTURE_VIDEO_OUTPUT: Allows an application to capture video output.
捕获视频输出权限
CHANGE_COMPONENT_ENABLED_STATE: Allows an application to change whether an application component (other than its own) is enabled or not.
看这里的用法 http://blog.csdn.net/yinlijun2004/article/details/6136108
CHANGE_CONFIGURATION: Allows an application to modify the current configuration, such as locale.
修改当前配置,如地区。参考这里 http://blog.csdn.net/wqhjfree/article/details/9125997
CHANGE_NETWORK_STATE: Allows applications to change network connectivity state
修改网络连接状态权限。相关类ConnectivityManager
CHANGE_WIFI_MULTICAST_STATE: Allows applications to enter Wi-Fi Multicast mode
修改wifi组播功能权限。相关类WifiManager
CHANGE_WIFI_STATE: Allows applications to change Wi-Fi connectivity state
修改wifi连接状态权限。相关类WifiManager
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.
启用或者停用位置数据更新权限。相关类LocationManager
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.
低级别的电源管理权限。相关类PowerManagerService
DIAGNOSTIC: Allows applications to RW to diagnostic resources.
DISABLE_KEYGUARD: Allows applications to disable the keyguard
DUMP: Allows an application to retrieve state dump information from system services.
EXPAND_STATUS_BAR: Allows an application to expand or collapse the status bar.
FACTORY_TEST: Run as a manufacturer test application, running as the root user.
FLASHLIGHT: Allows access to the flashlight
FORCE_BACK: Allows an application to force a BACK operation on whatever is the top activity.
GET_ACCOUNTS: Allows access to the list of accounts in the Accounts Service
GET_PACKAGE_SIZE: Allows an application to find out the space used by any package.
GET_TASKS: This constant was deprecated in API level 21. No longer enforced.
GET_TOP_ACTIVITY_INFO: Allows an application to retrieve private information about the current top activity, such as any assist context it can provide.
GLOBAL_SEARCH: This permission can be used on content providers to allow the global search system to access their data.
HARDWARE_TEST: Allows access to hardware peripherals.
INJECT_EVENTS: Allows an application to inject user events (keys, touch, trackball) into the event stream and deliver them to ANY window.
INSTALL_LOCATION_PROVIDER: Allows an application to install a location provider into the Location Manager.
INSTALL_PACKAGES: Allows an application to install packages.
INSTALL_SHORTCUT: Allows an application to install a shortcut in Launcher
INTERNAL_SYSTEM_WINDOW: Allows an application to open windows that are for use by parts of the system user interface.
INTERNET: Allows applications to open network sockets.
KILL_BACKGROUND_PROCESSES: Allows an application to call killBackgroundProcesses(String).
LOCATION_HARDWARE: Allows an application to use location features in hardware, such as the geofencing api.
MANAGE_ACCOUNTS: Allows an application to manage the list of accounts in the AccountManager
MANAGE_APP_TOKENS: Allows an application to manage (create, destroy, Z-order) application tokens in the window manager.
MANAGE_DOCUMENTS: Allows an application to manage access to documents, usually as part of a document picker.
MASTER_CLEAR: Not for use by third-party applications.
MEDIA_CONTENT_CONTROL: Allows an application to know what content is playing and control its playback.
MODIFY_AUDIO_SETTINGS: Allows an application to modify global audio settings
MODIFY_PHONE_STATE: Allows modification of the telephony state - power on, mmi, etc.
MOUNT_FORMAT_FILESYSTEMS: Allows formatting file systems for removable storage.
MOUNT_UNMOUNT_FILESYSTEMS: Allows mounting and unmounting file systems for removable storage.
NFC: Allows applications to perform I/O operations over NFC
PERSISTENT_ACTIVITY: This constant was deprecated in API level 9. This functionality will be removed in the future; please do not use. Allow an application to make its activities persistent.
PROCESS_OUTGOING_CALLS: Allows an application to see the number being dialed during an outgoing call with the option to redirect the call to a different number or abort the call altogether.
READ_CALENDAR: Allows an application to read the user's calendar data.
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_EXTERNAL_STORAGE: Allows an application to read from external storage.
READ_FRAME_BUFFER: Allows an application to take screen shots and more generally get access to the frame buffer data.
READ_HISTORY_BOOKMARKS: Allows an application to read (but not write) the user's browsing history and bookmarks.
READ_INPUT_STATE: This constant was deprecated in API level 16. The API that used this permission has been removed.
READ_LOGS: Allows an application to read the low-level system log files.
READ_PHONE_STATE: Allows read only access to phone state.
READ_PROFILE: Allows an application to read the user's personal profile data.
READ_SMS: Allows an application to read SMS messages.
READ_SOCIAL_STREAM: This constant was deprecated in API level 21. This functionality will be unsupported in the future; cursors returned will be empty. Please do not use.
READ_SYNC_SETTINGS: Allows applications to read the sync settings
READ_SYNC_STATS: Allows applications to read the sync stats
READ_USER_DICTIONARY: Allows an application to read the user dictionary.
READ_VOICEMAIL: Allows an application to read voicemails in the system.
REBOOT: Required to be able to reboot the device.
RECEIVE_BOOT_COMPLETED: Allows an application to receive the ACTION_BOOT_COMPLETED that is broadcast after the system finishes booting.
RECEIVE_MMS: Allows an application to monitor incoming MMS messages, to record or perform processing on them.
RECEIVE_SMS: Allows an application to monitor incoming SMS messages, to record or perform processing on them.
RECEIVE_WAP_PUSH: Allows an application to monitor incoming WAP push messages.
RECORD_AUDIO: Allows an application to record audio
REORDER_TASKS: Allows an application to change the Z-order of tasks
RESTART_PACKAGES: This constant was deprecated in API level 8. The restartPackage(String) API is no longer supported.
SEND_RESPOND_VIA_MESSAGE: Allows an application (Phone) to send a request to other applications to handle the respond-via-message action during incoming calls.
SEND_SMS: Allows an application to send SMS messages.
SET_ACTIVITY_WATCHER: Allows an application to watch and control how activities are started globally in the system.
SET_ALARM: Allows an application to broadcast an Intent to set an alarm for the user.
SET_ALWAYS_FINISH: Allows an application to control whether activities are immediately finished when put in the background.
SET_ANIMATION_SCALE: Modify the global animation scaling factor.
SET_DEBUG_APP: Configure an application for debugging.
SET_ORIENTATION: Allows low-level access to setting the orientation (actually rotation) of the screen.
SET_POINTER_SPEED: Allows low-level access to setting the pointer speed.
SET_PREFERRED_APPLICATIONS: This constant was deprecated in API level 7. No longer useful, see addPackageToPreferred(String) for details.
SET_PROCESS_LIMIT: Allows an application to set the maximum number of (not needed) application processes that can be running.
SET_TIME: Allows applications to set the system time.
SET_TIME_ZONE: Allows applications to set the system time zone
SET_WALLPAPER: Allows applications to set the wallpaper
SET_WALLPAPER_HINTS: Allows applications to set the wallpaper hints
SIGNAL_PERSISTENT_PROCESSES: Allow an application to request that a signal be sent to all persistent processes.
STATUS_BAR: Allows an application to open, close, or disable the status bar and its icons.
SUBSCRIBED_FEEDS_READ: Allows an application to allow access the subscribed feeds ContentProvider.
SUBSCRIBED_FEEDS_WRITE:
SYSTEM_ALERT_WINDOW: Allows an application to open windows using the type TYPE_SYSTEM_ALERT, shown on top of all other applications.
TRANSMIT_IR: Allows using the device's IR transmitter, if available
UNINSTALL_SHORTCUT: Allows an application to uninstall a shortcut in Launcher
UPDATE_DEVICE_STATS: Allows an application to update device statistics.
USE_CREDENTIALS: Allows an application to request authtokens from the AccountManager
USE_SIP: Allows an application to use SIP service
VIBRATE: Allows access to the vibrator
WAKE_LOCK: Allows using PowerManager WakeLocks to keep processor from sleeping or screen from dimming
WRITE_APN_SETTINGS: Allows applications to write the apn settings.
WRITE_CALENDAR: Allows an application to write (but not read) the user's calendar data.
WRITE_CALL_LOG: Allows an application to write (but not read) the user's contacts data.
WRITE_CONTACTS: Allows an application to write (but not read) the user's contacts data.
WRITE_EXTERNAL_STORAGE: Allows an application to write to external storage.
WRITE_GSERVICES: Allows an application to modify the Google service map.
WRITE_HISTORY_BOOKMARKS: Allows an application to write (but not read) the user's browsing history and bookmarks.
WRITE_PROFILE: Allows an application to write (but not read) the user's personal profile data.
WRITE_SECURE_SETTINGS: Allows an application to read or write the secure system settings.
WRITE_SETTINGS: Allows an application to read or write the system settings.
WRITE_SMS: Allows an application to write SMS messages.
WRITE_SOCIAL_STREAM: This constant was deprecated in API level 21. This functionality will be unsupported in the future; cursors returned will be empty. Please do not use.
WRITE_SYNC_SETTINGS: Allows applications to write the sync settings
WRITE_USER_DICTIONARY: Allows an application to write to the user dictionary.
WRITE_VOICEMAIL: Allows an application to modify and remove existing voicemails in the system
权限表太多了。。注释不完。。算了