Android权限操作的uses-permission详解

本文实例讲述了Android权限操作的uses-permission。分享给大家供大家参考,具体如下:

咱俩在安装Android软件的当儿,系统会唤起该软件所要之权限,相对于外系统,android的权杖非常多。我们以开发软件的下,也用声明相应的权柄,比如要软件会发短信,需要声明软件调用短信的权能,否则软件运行的时刻即便会报错。

Android的权柄在AndroidManifest.xml文件里布置。AndroidManifest文件中生四只标签以及permission有关,它们分别是
<permission>、 <permission-group> 、<permission-tree>
和 <uses-permission>。其中最为常用之是
<uses-permission>,当我们用获得有权限的早晚便务须以我们的manifest文件中声称<uses-permission>。

 

1
2
3
4
5
6
7
8
9
10
<?xml version="1.0" encoding="utf-8"?>
<manifest>
  <application>
  </application>
  <uses-permission />
  <permission />
  <permission-tree />
  <permission-group />
  ...
</manifest>

<permission>和
<uses-permission>的意图相似,两者之间的不同之处,<uses-permission>是android预定义的权能,<permission>是协调定义之权位。
<permission>用的相对比少,<permission-group>  
<permission-tree>这片单标签就是再度少见了,简单说<permission-group>
就是声称一个签,该标签代表了扳平组permissions,而<permission-tree>是吗同组permissions声明了一个namespace。后面三只标签具体以方式后续文章会发生介绍。

<permission>定义方法如下:

 

1
2
3
4
5
6
7
<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"] />

点代码来官方文档:http://developer.android.com/guide/topics/manifest/permission-element.html。propectionLevel这个属性是必须声明,告诉系统通知用户的应用要求许可,或允许谁认为获得许可的情况下。permissionGroup这个是可选的,与&lt;permission-group&gt;配合使用。label,
name和icon用于描述权限。 <permission>的用法后面呢会见再度详细分析。

<uses-permission>是咱所以之最为多的,官方文档定义方式如下:

 

1
<uses-permission android:name="string" />

例如,短信和电话权限的概念:

 

1
2
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.SEND_SMS"/>

脚是集到之 <uses-permission>的资料,方便用之时找:

android.permission.ACCESS_CHECKIN_PROPERTIES
兴读写访问”properties”表在checkin数据库中,改值好修改达传(
Allowsread/write access to the “properties” table in the checkin
database, to changevalues that get uploaded)

android.permission.ACCESS_COARSE_LOCATION
容一个先后访问CellID或WiFi热点来赢得粗略的岗位(Allowsan application to
access coarse (e.g., Cell-ID, WiFi) location)

android.permission.ACCESS_FINE_LOCATION
允许一个顺序访问精良位置(如GPS) (Allows an application to accessfine
(e.g., GPS) location)

android.permission.ACCESS_LOCATION_EXTRA_COMMANDS
容应用程序访问额外的岗位提供命令(Allowsan application to access extra
location provider commands)

android.permission.ACCESS_MOCK_LOCATION
许程序创建模拟位置提供用于测试(Allowsan application to create mock
location providers for testing)

android.permission.ACCESS_NETWORK_STATE
同意程序访问有关GSM网络消息(Allows applications to accessinformation
about networks)

android.permission.ACCESS_SURFACE_FLINGER
兴程序下SurfaceFlinger底层特性(Allows an application to
useSurfaceFlinger’s low level features)

android.permission.ACCESS_WIFI_STATE
允许程序访问Wi-Fi网络状态信息(Allows applications to accessinformation
about Wi-Fi networks)

android.permission.ADD_SYSTEM_SERVICE
同意程序发布系统级服务(Allowsan application to publish system-level
services).

android.permission.BATTERY_STATS
兴程序更新手机电池统计信息(Allowsan application to update the
collected battery statistics)

android.permission.BLUETOOTH
允许程序连接至曾配对之蓝牙设备(Allowsapplications to connect to paired
bluetooth devices)

android.permission.BLUETOOTH_ADMIN
容程序意识跟配对蓝牙设备(Allowsapplications to discover and pair
bluetooth devices)

android.permission.BRICK
央能禁用设备(非常危急)(Required to be able to disable thedevice
(very *erous!).)

android.permission.BROADCAST_PACKAGE_REMOVED
容程序广播一个提示音在一个应用程序包就移除后(Allowsan application
to broadcast a notification that an application
package has been removed)

android.permission.BROADCAST_STICKY
许一个次广播时因此intents(Allowsan application to broadcast sticky
intents)

android.permission.CALL_PHONE
同意一个先后初始化一个电话拨号不需要经过拨号用户界面需要用户确认(Allowsan
application to initiate a phone call without going through the Dialer
userinterface for the user to confirm the call being placed.)

android.permission.CALL_PRIVILEGED
允许一个次拨打另外号码,包含紧急号码无需通过拨号用户界面需要用户确认(Allowsan
application to call any phone number, including emergency numbers,
withoutgoing through the Dialer user interface for the user to confirm
the call beingplaced)

android.permission.CAMERA
吁访问使摄影设备(Requiredto be able to access the camera device. )

android.permission.CHANGE_COMPONENT_ENABLED_STATE
同意一个顺序是否改变一个零部件或外的启用或剥夺(Allowsan application to
change whether an application component (other than its own)is enabled
or not. )

android.permission.CHANGE_CONFIGURATION
许一个主次修改时设置,如本地化(Allowsan application to modify the
current configuration, such as locale. )

android.permission.CHANGE_NETWORK_STATE
容程序改变网络连接状态(Allowsapplications to change network
connectivity state)

android.permission.CHANGE_WIFI_STATE
兴程序改变Wi-Fi连接状态(Allows applications to change
Wi-Ficonnectivity state)

android.permission.CLEAR_APP_CACHE
允许一个先后清楚缓存从有着安装之主次在配备中(Allowsan application to
clear the caches of all installed applications on the device.)

android.permission.CLEAR_APP_USER_DATA
兴一个顺序免去用户安装(Allowsan application to clear user data)

android.permission.CONTROL_LOCATION_UPDATES
允许启用禁止位置更新提示从无线模块(Allowsenabling/disabling location
update notifications from the radio. )

android.permission.DELETE_CACHE_FILES
容程序删除缓存文件(Allowsan application to delete cache files)

android.permission.DELETE_PACKAGES
兴一个顺序删除包(Allowsan application to delete packages)

android.permission.DEVICE_POWER
允许看根电源管理(Allowslow-level access to power management)

android.permission.DIAGNOSTIC
同意程序RW诊断资源(Allows applications to RW to diagnosticresources. )

android.permission.DISABLE_KEYGUARD
兴程序禁用键盘锁(Allowsapplications to disable the keyguard )

android.permission.DUMP
许程序返回状态抓取信息由系统服务(Allowsan application to retrieve
state dump information from system services.)

android.permission.EXPAND_STATUS_BAR
容一个先后扩展收缩在状态栏,android开发网提示应是一个好像Windows
Mobile中的托盘程序(Allows an application to expand orcollapse the status
bar. )

android.permission.FACTORY_TEST
用作一个厂子测试程序,运行在root用户(Run as a manufacturer test
application,running as the root user. )

android.permission.FLASHLIGHT
访问闪光灯,android开发网提示HTC Dream不包含闪光灯(Allowsaccess to the
flashlight )

android.permission.FORCE_BACK
同意程序强行一个倒退操作是否当届层activities(Allowsan application to
force a BACK operation on whatever is the top activity. )

android.permission.FOTA_UPDATE
少不了解当下是举行啊用的,android开发网分析可能是一个预留权限.

android.permission.GET_ACCOUNTS
走访一个帐户列表在AccountsService中(Allows access to thelist of accounts
in the Accounts Service)

android.permission.GET_PACKAGE_SIZE
兴一个次取得其他package占用空间容量(Allows an application to find
out thespace used by any package. )

android.permission.GET_TASKS
容一个主次获取信息有关当前还是近年来运行的职责,一个缩略的天职状态,是否动等等(Allowsan
application to get information about the currently or recently
runningtasks: a thumbnail representation of the tasks, what activities
are running init, etc.)

android.permission.HARDWARE_TEST
同意看硬件(Allowsaccess to hardware peripherals. )

android.permission.INJECT_EVENTS
兴一个主次截获用户事件一经按键、触摸、轨迹球等等到一个年华流,android开发网提醒算是hook技术吧(Allowsan
application to inject user events (keys, touch, trackball) into the
eventstream and deliver them to ANY window.)

android.permission.INSTALL_PACKAGES
容一个程序安装packages(Allowsan application to install packages. )

android.permission.INTERNAL_SYSTEM_WINDOW
兴打开窗口以系统用户界面(Allowsan application to open windows that
are for use by parts of the system userinterface. )

android.permission.INTERNET
允许程序打开网络套接字(Allowsapplications to open network sockets)

android.permission.MANAGE_APP_TOKENS
容程序管理(创建、催后、 z-
order默认向z轴推移)程序引用在窗口管理器中(Allowsan application to manage
(create, destroy, Z-order) application tokens in thewindow manager. )

android.permission.MASTER_CLEAR
时下还尚未强烈的讲,android开发网分析可能是革除一切数据,类似硬格机

android.permission.MODIFY_AUDIO_SETTINGS
许程序修改全局音频设置(Allowsan application to modify global audio
settings)

android.permission.MODIFY_PHONE_STATE
同意修改话机状态,如电源,人机接口等(Allowsmodification of the telephony
state – power on, mmi, etc. )

android.permission.MOUNT_UNMOUNT_FILESYSTEMS
兴挂载和反挂载文件系统可活动存储(Allowsmounting and unmounting file
systems for removable storage. )

android.permission.PERSISTENT_ACTIVITY
同意一个先后设置他的activities显示(Allow an application to make
itsactivities persistent. )

android.permission.PROCESS_OUTGOING_CALLS
兴程序监视、修改有关播出电话(Allowsan application to monitor, modify,
or abort outgoing calls)

android.permission.READ_CALENDAR
同意程序读取用户日历数量(Allowsan application to read the user’s
calendar data.)

android.permission.READ_CONTACTS
容程序读取用户联系人多少(Allowsan application to read the user’s
contacts data.)

android.permission.READ_FRAME_BUFFER
允许程序屏幕波或同重复多常规的看帧缓冲数据(Allowsan application to take
screen shots and more generally get access to the framebuffer data)

android.permission.READ_INPUT_STATE
容程序返回时按键状态(Allowsan application to retrieve the current
state of keys and switches. )

android.permission.READ_LOGS
许程序读取底层系统日志文件(Allowsan application to read the low-level
system log files. )

android.permission.READ_OWNER_DATA
同意程序读取所有者数据(Allowsan application to read the owner’s data)

android.permission.READ_SMS
容程序读博短消息(Allowsan application to read SMS messages.)

android.permission.READ_SYNC_SETTINGS
许程序读取同步设置(Allowsapplications to read the sync settings)

android.permission.READ_SYNC_STATS
允许程序读取同步状态(Allowsapplications to read the sync stats)

android.permission.REBOOT
告能再起动设备(Requiredto be able to reboot the device. )

android.permission.RECEIVE_BOOT_COMPLETED
兴一个次接收到ACTION_BOOT_COMPLETED广播于系完成启动(Allowsan
application to receive the ACTION_BOOT_COMPLETED that is broadcast
after thesystem finishes booting. )

android.permission.RECEIVE_MMS
容一个程序监控将收取MMS彩信,记录或处理(Allowsan application to monitor
incoming MMS messages, to record or performprocessing on them. )

android.permission.RECEIVE_SMS
允许程序监控一个用接短消息,记录或拍卖(Allowsan application to monitor
incoming SMS messages, to record or performprocessing on them.)

android.permission.RECEIVE_WAP_PUSH
兴程序监控将收到WAPPUSH信息(Allows an applicationto monitor incoming
WAP push messages. )

android.permission.RECORD_AUDIO
允许程序录制音频(Allowsan application to record audio)

android.permission.REORDER_TASKS
容程序改变Z轴排列任务(Allows an application to change theZ-order of
tasks)

android.permission.RESTART_PACKAGES
兴程序还开动其他程序(Allowsan application to restart other
applications)

android.permission.SEND_SMS
允许程序发送SMS短信(Allows an application to send SMSmessages)

android.permission.SET_ACTIVITY_WATCHER
容程序监控或控制activities已经起步全局系统中(Allows an application to
watch andcontrol how activities are started globally in the system.)

android.permission.SET_ALWAYS_FINISH
许程序控制是否动间接完成在处于后台时(Allowsan application to control
whether activities are immediately finished when putin the background.)

android.permission.SET_ANIMATION_SCALE
改全局信息比例(Modifythe global animation scaling factor.)

android.permission.SET_DEBUG_APP
布一个序用于调试(Configurean application for debugging.)

android.permission.SET_ORIENTATION
许底层访问设置屏幕方向与骨子里旋转(Allowslow-level access to setting the
orientation (actually rotation) of the screen.)

android.permission.SET_PREFERRED_APPLICATIONS
兴一个次修改列表参数PackageManager.addPackageToPreferred()和PackageManager.removePackageFromPreferred()方法(Allowsan
application to modify the list of preferred applications with
thePackageManager.addPackageToPreferred()
andPackageManager.removePackageFromPreferred() methods.)

android.permission.SET_PROCESS_FOREGROUND
同意程序当前运作程序强行到前台(Allowsan application to force any
currently running process to be in the foreground.)

android.permission.SET_PROCESS_LIMIT
兴设置极端要命的运作过程数量(Allowsan application to set the maximum
number of (not needed) application processesthat can be running. )

android.permission.SET_TIME_ZONE
同意程序设置时间区域(Allowsapplications to set the system time zone)

android.permission.SET_WALLPAPER
容程序设置壁纸(Allowsapplications to set the wallpaper )

android.permission.SET_WALLPAPER_HINTS
兴程序设置壁纸hits(Allowsapplications to set the wallpaper hints)

android.permission.SIGNAL_PERSISTENT_PROCESSES
允许程序要发送信号到所有显示的进程中(Allowan application to request
that a signal be sent to all persistent processes)

android.permission.STATUS_BAR
兴程序打开、关闭或者剥夺状态栏及图标Allowsan application to open, close,
or disable the status bar and its icons.

android.permission.SUBSCRIBED_FEEDS_READ
同意一个次访问订阅RSSFeed内容提供(Allows an applicationto allow access
the subscribed feeds ContentProvider. )

android.permission.SUBSCRIBED_FEEDS_WRITE
系暂时保留改设置,android开发网认为未来版会加盟该功能。

android.permission.SYSTEM_ALERT_WINDOW
同意一个顺序打开窗口以TYPE_SYSTEM_ALERT,显示在其它具备程序的顶层(Allowsan
application to open windows using the type TYPE_SYSTEM_ALERT, shown on
topof all other applications. )

android.permission.VIBRATE
许看振动设备(Allowsaccess to the vibrator)

android.permission.WAKE_LOCK
同意用PowerManager的 WakeLocks保持进程在蛰伏时自屏幕消失(Allows using
PowerManager WakeLocks to keep
processor from sleeping or screen fromdimming)

android.permission.WRITE_APN_SETTINGS
兴程序写副API设置(Allows applications to write the apnsettings)

android.permission.WRITE_CALENDAR
同意一个主次写副但非读博用户日历数量(Allowsan application to write (but
not read) the user’s calendar data. )

android.permission.WRITE_CONTACTS
许程序写副但不念博用户联系人数量(Allowsan application to write (but
not read) the user’s contacts data. )

android.permission.WRITE_GSERVICES
容程序修改Google服务地图(Allows an application to modify theGoogle
service map. )

android.permission.WRITE_OWNER_DATA
许一个顺序写副但不读博所有者数据(Allowsan application to write (but
not read) the owner’s data.)

android.permission.WRITE_SETTINGS
容程序读取或摹写副系统设置(Allowsan application to read or write the
system settings. )

android.permission.WRITE_SMS
许程序写少信(Allowsan application to write SMS messages)

android.permission.WRITE_SYNC_SETTINGS
同意程序写副并设置(Allowsapplications to write the sync settings)

PS:关于AndroidManifest.xml文件有关属性功能而参考本站在线工具:

Android Manifest功能和权力描述大全:
http://tools.jb51.net/table/AndroidManifest

还多关于Android相关内容感兴趣之读者可查阅本站专题:《Android开发入门与进阶教程》、《Android调试技巧及大问题化解措施汇总》、《Android多媒体操作技巧汇总(音频,视频,录音等)》、《Android基本组件用法总结》、《Android视图View技巧总结》、《Android布局layout技巧总结》及《Android控件用法总结》

但愿本文所述对大家Android程序设计有帮助。

相关文章