自定义Persmission

Android的通过声明对应的权限,可以操作别的应用。系统提供了很多权限,具体可查看 Android系统权限

String ACCESS_CHECKIN_PROPERTIES Allows read/write access to the "properties" table in the checkin database, to change values that get uploaded.
String ACCESS_COARSE_LOCATION Allows an app to access approximate location derived from network location sources such as cell towers and Wi-Fi.
String ACCESS_FINE_LOCATION Allows an app to access precise location from location sources such as GPS, cell towers, and Wi-Fi.
String ACCESS_LOCATION_EXTRA_COMMANDS Allows an application to access extra location provider commands
String ACCESS_MOCK_LOCATION Allows an application to create mock location providers for testing
String ACCESS_NETWORK_STATE Allows applications to access information about networks
String ACCESS_SURFACE_FLINGER Allows an application to use SurfaceFlinger's low level features.
String ACCESS_WIFI_STATE Allows applications to access information about Wi-Fi networks
String ACCOUNT_MANAGER Allows applications to call into AccountAuthenticators.
String ADD_VOICEMAIL Allows an application to add voicemails into the system.
String AUTHENTICATE_ACCOUNTS Allows an application to act as an AccountAuthenticator for the AccountManager
String BATTERY_STATS Allows an application to collect battery statistics
String BIND_ACCESSIBILITY_SERVICE Must be required by an AccessibilityService, to ensure that only the system can bind to it.
String BIND_APPWIDGET Allows an application to tell the AppWidget service which application can access AppWidget's data.
String BIND_DEVICE_ADMIN Must be required by device administration receiver, to ensure that only the system can interact with it.
String BIND_INPUT_METHOD Must be required by an InputMethodService, to ensure that only the system can bind to it.
String BIND_NFC_SERVICE Must be required by a HostApduService or OffHostApduService to ensure that only the system can bind to it.
String BIND_NOTIFICATION_LISTENER_SERVICE Must be required by an NotificationListenerService, to ensure that only the system can bind to it.
String BIND_PRINT_SERVICE Must be required by a PrintService, to ensure that only the system can bind to it.
String BIND_REMOTEVIEWS Must be required by a RemoteViewsService, to ensure that only the system can bind to it.
String BIND_TEXT_SERVICE Must be required by a TextService (e.g.
String BIND_VPN_SERVICE Must be required by a VpnService, to ensure that only the system can bind to it.
String BIND_WALLPAPER Must be required by a WallpaperService, to ensure that only the system can bind to it.
String BLUETOOTH Allows applications to connect to paired bluetooth devices
String BLUETOOTH_ADMIN Allows applications to discover and pair bluetooth devices
String BLUETOOTH_PRIVILEGED Allows applications to pair bluetooth devices without user interaction.
String BRICK Required to be able to disable the device (very dangerous!).
String BROADCAST_PACKAGE_REMOVED Allows an application to broadcast a notification that an application package has been removed.
String BROADCAST_SMS Allows an application to broadcast an SMS receipt notification.
String BROADCAST_STICKY Allows an application to broadcast sticky intents.
String BROADCAST_WAP_PUSH Allows an application to broadcast a WAP PUSH receipt notification.
String 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.
String 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.
String CAMERA Required to be able to access the camera device.
String CAPTURE_AUDIO_OUTPUT Allows an application to capture audio output.
String CAPTURE_SECURE_VIDEO_OUTPUT Allows an application to capture secure video output.
String CAPTURE_VIDEO_OUTPUT Allows an application to capture video output.
String CHANGE_COMPONENT_ENABLED_STATE Allows an application to change whether an application component (other than its own) is enabled or not.
String CHANGE_CONFIGURATION Allows an application to modify the current configuration, such as locale.
String CHANGE_NETWORK_STATE Allows applications to change network connectivity state
String CHANGE_WIFI_MULTICAST_STATE Allows applications to enter Wi-Fi Multicast mode
String CHANGE_WIFI_STATE Allows applications to change Wi-Fi connectivity state
String CLEAR_APP_CACHE Allows an application to clear the caches of all installed applications on the device.
String CLEAR_APP_USER_DATA Allows an application to clear user data.
String CONTROL_LOCATION_UPDATES Allows enabling/disabling location update notifications from the radio.
String DELETE_CACHE_FILES Allows an application to delete cache files.
String DELETE_PACKAGES Allows an application to delete packages.
String DEVICE_POWER Allows low-level access to power management.
String DIAGNOSTIC Allows applications to RW to diagnostic resources.
String DISABLE_KEYGUARD Allows applications to disable the keyguard
String DUMP Allows an application to retrieve state dump information from system services.
String EXPAND_STATUS_BAR Allows an application to expand or collapse the status bar.
String FACTORY_TEST Run as a manufacturer test application, running as the root user.
String FLASHLIGHT Allows access to the flashlight
String FORCE_BACK Allows an application to force a BACK operation on whatever is the top activity.
String GET_ACCOUNTS Allows access to the list of accounts in the Accounts Service
String GET_PACKAGE_SIZE Allows an application to find out the space used by any package.
String GET_TASKS Allows an application to get information about the currently or recently running tasks.
String GET_TOP_ACTIVITY_INFO Allows an application to retrieve private information about the current top activity, such as any assist context it can provide.
String GLOBAL_SEARCH This permission can be used on content providers to allow the global search system to access their data.
String HARDWARE_TEST Allows access to hardware peripherals.
String INJECT_EVENTS Allows an application to inject user events (keys, touch, trackball) into the event stream and deliver them to ANY window.
String INSTALL_LOCATION_PROVIDER Allows an application to install a location provider into the Location Manager.
String INSTALL_PACKAGES Allows an application to install packages.
String INSTALL_SHORTCUT Allows an application to install a shortcut in Launcher
String INTERNAL_SYSTEM_WINDOW Allows an application to open windows that are for use by parts of the system user interface.
String INTERNET Allows applications to open network sockets.
String KILL_BACKGROUND_PROCESSES Allows an application to call killBackgroundProcesses(String).
String LOCATION_HARDWARE Allows an application to use location features in hardware, such as the geofencing api.
String MANAGE_ACCOUNTS Allows an application to manage the list of accounts in the AccountManager
String MANAGE_APP_TOKENS Allows an application to manage (create, destroy, Z-order) application tokens in the window manager.
String MANAGE_DOCUMENTS Allows an application to manage access to documents, usually as part of a document picker.
String MASTER_CLEAR Not for use by third-party applications.
String MEDIA_CONTENT_CONTROL Allows an application to know what content is playing and control its playback.
String MODIFY_AUDIO_SETTINGS Allows an application to modify global audio settings
String MODIFY_PHONE_STATE Allows modification of the telephony state - power on, mmi, etc.
String MOUNT_FORMAT_FILESYSTEMS Allows formatting file systems for removable storage.
String MOUNT_UNMOUNT_FILESYSTEMS Allows mounting and unmounting file systems for removable storage.
String NFC Allows applications to perform I/O operations over NFC
String 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.
String PROCESS_OUTGOING_CALLS Allows an application to monitor, modify, or abort outgoing calls.
String READ_CALENDAR Allows an application to read the user's calendar data.
String READ_CALL_LOG Allows an application to read the user's call log.
String READ_CONTACTS Allows an application to read the user's contacts data.
String READ_EXTERNAL_STORAGE Allows an application to read from external storage.
String READ_FRAME_BUFFER Allows an application to take screen shots and more generally get access to the frame buffer data.
String READ_HISTORY_BOOKMARKS Allows an application to read (but not write) the user's browsing history and bookmarks.
String READ_INPUT_STATE This constant was deprecated in API level 16. The API that used this permission has been removed.
String READ_LOGS Allows an application to read the low-level system log files.
String READ_PHONE_STATE Allows read only access to phone state.
String READ_PROFILE Allows an application to read the user's personal profile data.
String READ_SMS Allows an application to read SMS messages.
String READ_SOCIAL_STREAM Allows an application to read from the user's social stream.
String READ_SYNC_SETTINGS Allows applications to read the sync settings
String READ_SYNC_STATS Allows applications to read the sync stats
String READ_USER_DICTIONARY Allows an application to read the user dictionary.
String REBOOT Required to be able to reboot the device.
String RECEIVE_BOOT_COMPLETED Allows an application to receive the ACTION_BOOT_COMPLETED that is broadcast after the system finishes booting.
String RECEIVE_MMS Allows an application to monitor incoming MMS messages, to record or perform processing on them.
String RECEIVE_SMS Allows an application to monitor incoming SMS messages, to record or perform processing on them.
String RECEIVE_WAP_PUSH Allows an application to monitor incoming WAP push messages.
String RECORD_AUDIO Allows an application to record audio
String REORDER_TASKS Allows an application to change the Z-order of tasks
String RESTART_PACKAGES This constant was deprecated in API level 8. The restartPackage(String) API is no longer supported.
String 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.
String SEND_SMS Allows an application to send SMS messages.
String SET_ACTIVITY_WATCHER Allows an application to watch and control how activities are started globally in the system.
String SET_ALARM Allows an application to broadcast an Intent to set an alarm for the user.
String SET_ALWAYS_FINISH Allows an application to control whether activities are immediately finished when put in the background.
String SET_ANIMATION_SCALE Modify the global animation scaling factor.
String SET_DEBUG_APP Configure an application for debugging.
String SET_ORIENTATION Allows low-level access to setting the orientation (actually rotation) of the screen.
String SET_POINTER_SPEED Allows low-level access to setting the pointer speed.
String SET_PREFERRED_APPLICATIONS This constant was deprecated in API level 7. No longer useful, see addPackageToPreferred(String) for details.
String SET_PROCESS_LIMIT Allows an application to set the maximum number of (not needed) application processes that can be running.
String SET_TIME Allows applications to set the system time.
String SET_TIME_ZONE Allows applications to set the system time zone
String SET_WALLPAPER Allows applications to set the wallpaper
String SET_WALLPAPER_HINTS Allows applications to set the wallpaper hints
String SIGNAL_PERSISTENT_PROCESSES Allow an application to request that a signal be sent to all persistent processes.
String STATUS_BAR Allows an application to open, close, or disable the status bar and its icons.
String SUBSCRIBED_FEEDS_READ Allows an application to allow access the subscribed feeds ContentProvider.
String SUBSCRIBED_FEEDS_WRITE  
String SYSTEM_ALERT_WINDOW Allows an application to open windows using the type TYPE_SYSTEM_ALERT, shown on top of all other applications.
String TRANSMIT_IR Allows using the device's IR transmitter, if available
String UNINSTALL_SHORTCUT Allows an application to uninstall a shortcut in Launcher
String UPDATE_DEVICE_STATS Allows an application to update device statistics.
String USE_CREDENTIALS Allows an application to request authtokens from the AccountManager
String USE_SIP Allows an application to use SIP service
String VIBRATE Allows access to the vibrator
String WAKE_LOCK Allows using PowerManager WakeLocks to keep processor from sleeping or screen from dimming
String WRITE_APN_SETTINGS Allows applications to write the apn settings.
String WRITE_CALENDAR Allows an application to write (but not read) the user's calendar data.
String WRITE_CALL_LOG Allows an application to write (but not read) the user's contacts data.
String WRITE_CONTACTS Allows an application to write (but not read) the user's contacts data.
String WRITE_EXTERNAL_STORAGE Allows an application to write to external storage.
String WRITE_GSERVICES Allows an application to modify the Google service map.
String WRITE_HISTORY_BOOKMARKS Allows an application to write (but not read) the user's browsing history and bookmarks.
String WRITE_PROFILE Allows an application to write (but not read) the user's personal profile data.
String WRITE_SECURE_SETTINGS Allows an application to read or write the secure system settings.
String WRITE_SETTINGS Allows an application to read or write the system settings.
String WRITE_SMS Allows an application to write SMS messages.
String WRITE_SOCIAL_STREAM Allows an application to write (but not read) the user's social stream data.
String WRITE_SYNC_SETTINGS Allows applications to write the sync settings
String WRITE_USER_DICTIONARY Allows an application to write to the user dictionary.


我们可以自定义权限,定义一个permission 就是在AndroidManifest清单文件中添加一个permission标签。 

<permission android:description="string resource"
            android:icon="drawable resource"
            android:label="string resource"
            android:name="string"
            android:permissionGroup="string"
            android:protectionLevel=["normal" | "dangerous" | 
                                     "signature" | "signatureOrSystem"] />

android:description :对权限的描述,一般是两句话,第一句话描述这个权限所针对的操作,第二句话告诉用户授予app这个权限会带来的后果 
android:label: 对权限的一个简短描述 
android:name :权限的唯一标识,一般都是使用 应用包名加权限名 
android:permissionGroup: 权限所属权限组的名称 


android:protectionLevel: 声明权限的级别
normal 是最低的等级,声明了本级别权限的app,系统会默认授予本权限权限,不会提示用户 
dangerous  标识本权限对应的操作有安全风险,系统在安装声明此类权限的应用时会提示用户 
signature  权限表明的操作只针对使用同一个证书签名的app开放 
signatureOrSystem  与signature类似,只是增加了rom中自带的app的声明 

android:name 属性是必须的,其他的可选,未写的系统会指定默认值 


使用方式

1.声明权限,:权限的唯一标识,一般都是使用 应用包名加权限名 

  <permission android:name="android.permission.BAIDU_LOCATION_SERVICE"/>


2.使用权限,使用方式和系统权限一样

 <uses-permission android:name="android.permission.BAIDU_LOCATION_SERVICE"/>




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值