RAD Studio Delphi & C++ 安卓使用权限
Project > Options > Uses Permissions
使用此对话框可指定您的Android应用程序需要工作的权限。RAD Studio增加你在AndroidManifest.xml文件中指定的权限。
注意:仔细检查为Android应用程序配置的权限列表。您应该禁用应用程序不需要的权限,因为:
- Android设备在第一次运行应用程序时提示用户接受每个请求的权限。
- 应用程序存储(如Google Play)可以使用权限过滤应用程序。
例如,如果应用程序需要调用电话权限(默认情况下是必需的),应用程序商店可能不允许用户在平板电脑上安装应用程序。
例如:
- InterBase需要一定的权限:
- Internet(网络):允许应用程序访问网络通讯。如果你建立Client/Server应用访问远程InterBase数据库的权限,这是必备的。此权限也采用InterBase“"call home"”沉默许可登记的。
- Read external storage/Write external storage(读/写外部存储):允许访问外部存储位置InterBase文件,包括你的数据库文件。应用程序执行读/写操作所需的权限。
-
- 一些FireMonkey组件需要一定的权限。例如:
- Tcalendaredit需要读/写日历权限
- Tlocationsensor需要访问粗定位和精定位的权限
FireMonkey为所有安卓应用设置了一些基本的安卓权限
新的Android应用程序默认设置以下权限:
- Access coarse location
- Access fine location
- Call phone
- Camera
- Internet
- Read calendar
- Read external storage
- Write calendar
- Write external storage
- Read phone state
INTERNET权限总是为Development Configuration设置。
您的Android应用程序有几个默认设置的权限,包括INTERNET权限。
- 当您将Android应用在Configuration设置为Development(在Project Manager)时,INTERNET 权限始终是隐式设置的,即使在使用权限上禁用Internet权限时也是如此。这是因为RAD Studio调试器需要Internet权限。
- 然而,对于配置为Application Store,你可以取消INTERNET权限,通过 Project > Options > Uses Permissions.
下面是在Project Manager对于安卓应用Development 配置节点
对话框字段描述
基本的使用权限
下列使用权限可用于大多数Android应用程序所需的权限。在创建Android应用程序时,一些最常用的基本权限是由RAD Studio预先设置的。
权限 | 描述 |
Access coarse location | 允许应用访问来自网络位置源的大致位置,如移动基站和wi-fi。定位精度大概误差在30~1500米 |
Access fine location | 允许应用从GPS、移动基站和wi-fi等位置源访问精确位置。定位精度达10米以内 |
Access location extra commands | 允许程序访问额外的定位提供者指令 |
Access mock location | 允许应用获取模拟定位信息,一般用于帮助开发者调试应用 |
Access network state | 允许应用获取网络信息状态,如当前的网络连接是否有效 |
Access wifi state | 允许应用获取当前WiFi接入的状态以及WLAN热点的信息 |
Add voicemail | 允许应用程序添加语音邮件到系统中。 |
Authenticate accounts | 允许应用过账户验证方式访问账户管理ACCOUNT_MANAGER相关信息 |
Battery stats | 允许应用获取电池电量统计信息 |
Bind accessibility service | 必须由一个Accessibilityservice要求,确保只有系统可以绑定到它。 |
Bind device admin | 请求系统管理员接收者receiver,只有系统才能使用 |
Bind input method | 请求InputMethodService服务,只有系统才能使用 |
Bind remoteviews | 必须通过RemoteViewsService服务来指令,只有系统才能用 |
Bind text service | 必须由Textservice指令。 |
Bind vpn service | 必须由vpnservice指令,确保只有系统可以绑定到它。 |
Bind wallpaper | 必须通过WallpaperService服务来请求,只有系统才能用 |
Bluetooth | 允许程序连接配对过的蓝牙设备 |
Bluetooth admin | 允许程序进行发现和配对新的蓝牙设备 |
Broadcast sticky | 允许一个程序收到广播后快速收到下一个广播。些广播是系统完成后数据保存的广播,这样客户端就可以在不等待下一次广播的情况下快速检索数据。 |
Call phone | 允许程序从非系统拨号器里拨打电话号码 |
Camera | 允许访问相机设备。 |
Change configuration | 允许当前应用改变配置,如定位 |
Change network state | 允许应用改变网络状态,如是否能联网 |
Change wifi multicast state | 允许应用改变WiFi多播状态 |
Change wifi state | 允许应用改变WiFi状态 |
Clear app cache | 允许应用清除设备上所有已安装应用程序的缓存。 |
Disable keyguard | 允许程序禁用键盘锁 |
Expand status bar | 允许程序扩展或收缩状态栏 |
Flashlight | 允许访问闪光灯 |
Get accounts | 允许访问帐户服务中的帐户列表。 |
Get package size | 允许应用获取应用的文件大小 |
Get tasks | 允许程序获取当前或最近运行的任务 |
Global search | 允许程序使用全局搜索功能 |
通常全局搜索当供应商有一定权限保护时使用(全球搜索不会持有),并添加为只读权限的路径在供应商那里进行全局搜索查询。的 全局搜索 许可不能常规应用举行;它是应用程序用于保护自己免受除了全局搜索所有其他应用程序。 | |
Internet | 允许程序打开网络通讯。可能产生GPRS流量 |
Kill background processes | 允许程序调用killBackgroundProcesses(String).方法结束后台进程 |
Manage accounts | 允许程序管理AccountManager中的账户列表 |
Modify audio settings | 允许应用修改全局声音设置信息 |
NFC | 允许程序执行NFC近距离通讯操作,用于移动支持 |
Process outgoing calls | 允许程序监视,修改或放弃播出电话 |
Read calendar | 允许程序读取用户的日程信息 |
Read call log | 允许应用读取用户的通话记录。 |
Read contacts | 允许应用访问联系人通讯录信息 |
Read external storage | 允许程序读取外部存储,如SD卡上文件 |
Read history bookmarks | 允许应用读取浏览器收藏夹和历史记录 |
Read phone state | 允许只读访问电话状态。 |
Read profile | 允许应用读取用户的个人资料。 |
Read SMS | 允许应用读取短信内容 |
Read social stream | 允许应用读取用户社交流 |
Read sync settings | 允许读取同步设置,如读取Google在线同步设置 |
Read sync stats | 读取同步状态,如获得Google在线同步状态 |
Read user dictionary | 允许应用读取用户字典。 |
Receive boot completed | 允许程序开机自动运行 |
Receive MMS | 允许应用监视传入的彩信,对它们进行记录或执行处理。 |
Receive SMS | 允许应用监视传入的短信,对它们进行记录或执行处理。 |
Receive WAP push | 允许应用监视接收WAP PUSH信息 |
Record audio | 允许应用录制声音通过手机或耳机的麦克 |
Reorder tasks | 允许应用重新排序系统Z轴运行中的任务 |
Send SMS | 允许应用发送短信 |
Set alarm | 允许应用通过广播为用户设置提醒。 |
Set time zone | 允许应用设置系统时区 |
Set wallpaper | 允许应用设置桌面壁纸 |
Set wallpaper hints | 允许应用设置壁纸建议 |
Subscribed feeds read | 允许应用访问订阅信息的数据库 |
Subscribed feeds write | 允许应用写入或修改订阅内容的数据库 |
System alert window | 允许应用在所有其他应用程序上显示系统窗口 |
Use credentials | 允许程序从AccountManager请求验证 |
Use SIP | 允许程序使用SIP视频服务 |
Vending billing (In-app Billing) | 允许使用应用程序计费服务。查看 Android文件 附加信息。 |
Vibrate | 允许振动 |
Wake lock | 允许使用PowerManager WakeLocks在手机屏幕关闭后后台进程仍然运行 |
Write calendar | 允许应用写入日程,但不可读取 |
Write call log | 允许应用写入通话记录,但不可读取 |
Write contacts | 允许应用写入联系人,但不可读取 |
Write external storage | 允许应用写入外部存储,如SD卡上写文件 |
Write history bookmarks | 允许应用写入浏览器历史记录或收藏夹,但不可读取 |
Write profile | 允许应用程序写入(但不读取)用户个人配置文件数据。 |
Write settings | 允许读写系统设置项 |
Write SMS | 允许编写短信 |
Write social stream | 允许应用写入用户社交流,但不可读取 |
Write sync settings | 允许应用写入在线同步设置,如写入Google在线同步设置 |
Write user dictionary | 允许应用写入到用户词典。 |
上表中的描述列中的文档在 Apache 2.0 获得许可。Copyright © Android Open Source Project。
高级使用权限
下面的使用权限只适用于高级Android特性,并且大多数应用程序不需要这些权限。
项目 | 描述 |
Access checkin properties | 允许应用读取或写入登记check-in数据库属性表的权限 |
Access surface flinger | Android平台上底层的图形显示支持,一般用于游戏或照相机预览界面和底层模式的屏幕截图 |
Account manager | 获取账户验证信息,主要为GMail账户信息,只有系统级进程才能访问的权限 |
Bind appwidget | 允许一个程序告诉appWidget服务需要访问小插件的数据库,只有非常少的应用才用到此权限 |
Brick | 能够禁用手机,非常危险,顾名思义就是让手机变成砖头 |
Broadcast package removed | 允许应用在删除时触发一个提示 |
Broadcast sms | 当收到短信时触发一个提示 |
Broadcast WAP PUSH | WAP PUSH服务收到后触发一个提示 |
Call privileged | 允许应用程序调用任何电话号码,包括急救号码,未经用户确认电话放置拨号用户界面。 |
Change component enabled state | 允许应用程序更改是否启用了应用程序组件状态(其自身除外)。 |
Clear app user data | 清除应用的用户数据 |
Control location updates | 允许启用/禁用位置更新通知。普通应用不要使用。 |
Delete cache files | 允许应用删除缓存文件 |
Delete packages | 允许程序删除应用包 |
Device power | 允许访问底层电源管理 |
Diagnostic | 允许程序到RW到诊断资源 |
DUMP | 允许程序从系统服务获取系统dump信息 |
Factory test | root用户允许程序运行工厂测试模式。只有当设备运行在工厂测试模式可用 |
Force back | 允许程序强制使用back后退按键,无论Activity是否在顶层 |
Hardware test | 访问硬件辅助设备,用于硬件测试 |
Inject events | 允许一个应用程序注入用户事件(按键、触摸、轨迹球)的事件流传送到任何窗口 |
Install location provider | 允许应用程序安装位置提供到Location Manager |
Install packages | 允许程序安装应用 |
Internal system window | 允许程序打开内部窗口,不对第三方应用程序开放此权限 |
Manage application tokens | 允许一个应用程序管理(创建、销毁、Z-order)在窗口管理器应用程序标记。仅能系统使用 |
Master clear | 允许程序执行软格式化,删除系统配置信息 |
Modify phone state | 修改电话状态,如飞行模式,但不包含替换系统拨号器界面。仅能系统使用 |
Mount format filesystems | 格式化可移动文件系统,比如格式化清空SD卡 |
Mount unmount filesystems | 挂载、反挂载外部文件系统 |
Read frame buffer | .读取帧缓存用于屏幕截图 |
Read logs | 读取系统底层日志 |
Reboot | 允许程序重新启动设备 |
Set activity watcher | 允许应用程序监视和控制系统中全局启动的活动 |
Set always finish | 设置程序在后台是否总是退出 |
Set animation scale | 设置全局动画缩放 |
Set debug app | 设置调试程序,一般用于开发 |
Set orientation | 允许底层访问设置屏幕的方向(实际上是旋转)。 |
Set pointer speed | 允许访问底层的指针速度设置。 |
Set process limit | 允许程序设置最大的进程数量的限制 |
Set time | 允许应用设置系统时间 |
Signal persistent processes | 允许应用发送一个永久的进程信号 |
Status bar | 允许应用程序打开,关闭或禁用状态栏和状态栏图标。 |
Update device stats | 更新设备状态 |
Write apn settings | 允许应用程序设置APN。 |
Write Google services | 允许应用程序修改谷歌地图服务。 |
Write secure settings | 允许应用程序读写系统安全设置。 |
上表中的描述列中的文档在 Apache 2.0 获得许可。Copyright © Android Open Source Project。