Delphi XE8移动应用开发中Andr​​oid权限设置

本文摘自《Delphi XE8 iOS与Android移动应用开发教程[完整中文版]》,该书是一本介绍使用delphi xe8开发iOS与Android移动应用的电子书(开发教程与开发手册)。

本节内容主要介绍使用Delphi XE系列工具开发Android应用时需要使用到的Android相关权限设置内容。


Delphi XE8移动应用开发中Andr​​oid
权限设置

选择Project > Options > Uses Permissions,打开权限设置对话框。
使用此对话框可以指定你Android应用程序所需要的权限。RAD Studio将在AndroidManifest.xml文件中添加指定权限。
注意:仔细查看你的Android应用程序权限列表配置。您应该禁用您的应用程序并不需要的权限,因为:

  • Android设备在你的应用第一次运行时,将提示用户接受每个请求的权限。
  • 应用商店如谷歌播放可以使用权限来筛选出应用程序。

例如,如果您的应用程序需要Call phone的许可(其默认需要),应用商店可能不会让用户安装应用程序在平板电脑上。
例如:

  • InterBase 需要一定的权限:
    • Internet:允许应用程序访问网络套接字。如果您正在构建C/S应用程序访问远程数据库的InterBase,这个权限是必须具备的。
    • Read external storage/Write external storage:允许访问InterBase文件,包括数据库文件存放的外部存储位置。应用程序需要此权限执行读/写操作。
  • 有些FireMonkey控件需要一定的权限。例如:
    • TCalendarEdit需要Read calendar 、 Write calendar(读取日历写日历)的权限。
    • TLocationSensor需要Access coarse location 、 Access fine location(访问粗略的位置访问精准的位置)权限。

为FireMonkey Android 应用程序设置一些基本的权限

新的Andr​​oid应用程序都默认设置以下所需的权限:

  • 访问粗略的位置(Access coarse location)
  • 访问精确的位置(Access fine location)
  • 手机通话(Call phone)
  • 相机(Camera)
  • 互联网(Internet)
  • 读取日历(Read calendar)
  • 读取外部存储(Read external storage)
  • 写日历(Write calendar)
  • 写外部存储(Write external storage)
  • 读取手机状态(Read phone state)

Internet权限始终设置为开发配置

Android应用程序有几个默认设置权限,包括INTERNET权限。

  • 当你构建开发Android应用(在 Project Manager),INTERNET权限始终会隐式开启,即使您禁用了INTERNET权限的使用。这是因为RAD Studio调试器需要INTERNET权限。
  • 然而,对于应用程序商店的配置,您可以使用Project > Options > Uses Permissions禁用Internet的权限。

这里是Project Manager开发配置节点设置Android应用程序:

Delphi <wbr>XE8移动应用开发中Andr​​oid权限设置

基本使用权限

下面使用权限可满足大多数Android应用程序需要。一些最常用的基本权限是由RAD Studio在创建Android应用时预设。


允许

 

描述

访问粗略的位置

Access coarse location

允许应用访问网络位置来源的大概位置,如手机发射塔和Wi-Fi。

访问精确的位置

Access fine location

允许应用从位置源,例如GPS、手机基站和Wi-Fi接入的精确位置。

访问位置额外命令

Access location extra commands

允许应用程序访问额外的位置提供程序命令。

访问模拟位置

Access mock location

允许应用程序由测试提供创建模拟位置。

接入网络状态

Access network state

允许程序访问有关网络的信息。

访问无线网络状态

Access wifi state

允许应用程序访问Wi-Fi网络的信息。

添加语音邮件

Add voicemail

允许应用程序添加语音邮件进入系统。

验证帐户

Authenticate accounts

允许应用程序充当一个的AccountManager AccountAuthenticator。

电池统计

Battery stats

允许应用程序收集电池统计信息。

绑定无障碍服务

Bind accessibility service

必须有AccessibilityService,确保可绑定到它。

绑定设备管理

Bind device admin

必须有设备管理接收机,以确保只有系统可以与其进行交互。

绑定输入法

Bind input method

必须有InputMethodService,以确保只有该系统可绑定到它。

绑定remoteviews

Bind remoteviews

必须有RemoteViewsService,以确保只有该系统可绑定到它。

绑定文本服务

Bind text service

必须有TextService。

绑定VPN服务

Bind vpn service

必须有VpnService,以确保只有该系统可结合到它。

绑定壁纸

Bind wallpaper

必须有WallpaperService,以确保只有该系统可结合到它。

蓝牙

Bluetooth

允许应用程序连接到已配对的蓝牙设备。

蓝牙管理

Bluetooth admin

允许应用程序发现和配对蓝牙设备。

粘性广播

Broadcast sticky

允许应用程序粘性广播。这些广播数据发送后就一直存在于系统的消息容器里面,等待对应的处理器去处理。

手机通话

Call phone

允许应用程序不通过拨号用户界面初始化一个电话拨号。

相机

Camera

需要能够访问的摄像机装置。

更改配置

Change configuration

允许应用程序修改当前设置,如区域。

更改网络状态

Change network state

允许应用程序改变网络连接状态。

更改无线多播状态

Change wifi multicast state

允许应用程序进入Wi-Fi多播模式。

更改无线状态

Change wifi state

允许应用程序更改Wi-Fi连接状态。

清除应用程序缓存

Clear app cache

允许应用程序清除设备上的所有安装的应用程序缓存。

禁用键盘锁

Disable keyguard

允许应用程序禁用键盘锁。

展开状态栏

Expand status bar

允许应用程序展开或折叠状态栏。

手电筒

Flashlight

允许访问手电筒。

获取账户

Get accounts

允许访问的帐户服务帐户列表。

获取封装尺寸

Get package size

允许找出任何package占用空间的应用程序。

获取任务

Get tasks

允许应用程序获取有关当前或最近运行的任务的信息。

全球搜索

Global search

允许全局搜索系统来访问特定内容提供者的数据。

互联网

Internet

允许应用程序打开网络套接字。

终止后台进程

Kill background processes

允许应用程序调用关闭后台进程。

管理账户

Manage accounts

允许应用程序来管理的AccountManager帐户列表。

修改音频设置

Modify audio settings

允许应用程序修改全局音频设置。

NFC

NFC

允许应用程序通过NFC进行I / O操作。

处理外拨电话

Process outgoing calls

允许应用程序监视,修改或中止拨出的电话。

读取日历

Read calendar

允许应用程序读取用户的日历数据。

查看通话记录

Read call log

允许应用程序读取用户的通话记录。

读取通讯录

Read contacts

允许应用程序读取用户联系人数据。

读取外部存储

Read external storage

允许应用程序从外部存储读取。

读历史书签

Read history bookmarks

允许应用程序读取(但不能写入)用户的浏览历史记录和书签。

读取手机状态

Read phone state

允许手机状态只读访问。

阅读简介

Read profile

允许应用程序读取用户的个人资料的数据。

阅读短信

Read SMS

允许应用程序读取短信。

阅读社交流

Read social stream

允许应用程序从用户的社交流中读取。

读取同步设置

Read sync settings

允许应用程序读取同步设置。

阅读同步统计

Read sync stats

允许应用程序读取同步状态。

读取用户词典

Read user dictionary

允许应用程序读取用户字典。

接收完成开机

Receive boot completed

允许应用程序接收系统启动之后信息,即ACTION_BOOT_COMPLETED广播。

接收MMS

Receive MMS

允许程序监控将收到MMS彩信,记录或进行处理。

接收短信

Receive SMS

允许程序监控将收到短信息,记录或进行处理。

接收WAP推送

Receive WAP push

允许程序监控将收到WAP PUSH信息。

录制音频

Record audio

允许应用程序录制音频。

任务重新排序

Reorder tasks

允许应用程序更改任务的顺序。

发送短信

Send SMS

允许应用程序发送短信。

设置提醒

Set alarm

允许应用程序通过广播意向为用户设置提醒。

设置时区

Set time zone

允许应用程序设置系统时区。

设置壁纸

Set wallpaper

允许应用程序设置壁纸。

设置壁纸提示

Set wallpaper hints

允许应用程序设置壁纸提示。

订阅的Feed阅读

Subscribed feeds read

允许应用程序允许访问订阅RSS Feed内容。

订阅的Feed写

Subscribed feeds write

允许应用程序允许写订阅RSS Feed内容。

系统提示窗口

System alert window

允许应用程序打开使用类型TYPE_SYSTEM_ALERT,对其他所有程序的顶层窗口。

使用凭据

Use credentials

允许应用程序从请求的AccountManager authtokens。

使用SIP

Use SIP

允许使用SIP服务的应用程序。

自动计费(应用内结算)

Vending billing (In-app Billing)

允许使用应用内结算服务。请参阅Android文档的附加 ​​信息。

颤动

Vibrate

允许访问振动。

唤醒锁

Wake lock

允许使用PowerManager WakeLocks让处理器进入休眠或屏幕变暗。

写日历

Write calendar

允许应用程序写入(但不读取)用户的日历数据。

写通话记录

Write call log

允许应用程序写入(但不读)用户的联系人数据。

写联系方式

Write contacts

允许应用程序写入(但不读)用户的联系人数据。

写外部存储

Write external storage

允许应用程序写入到外部存储器。

写历史的书签

Write history bookmarks

允许应用程序写入(但不读取)用户的浏览历史记录和书签。

写个人资料

Write profile

允许应用程序写入(但不读)用户的个人配置文件数据。

写设置

Write settings

允许应用程序读取或写入系统设置。

写短信

Write SMS

允许应用程序编写短信。

写社交流

Write social stream

允许应用程序写入(但不读)用户的社交数据流。

写入同步设置

Write sync settings

允许程序写入同步设置。

写入用户词典

Write user dictionary

允许应用程序写入用户字典。

高级用途权限

下面使用权限仅适用于高级Android功能需要,而大多数应用程序应该不需要。


项目

 

描述

访问登记属性

Access checkin properties

允许读取“属性”表/写访问在checkin数据库,更改上载到值。

访问面护圈

Access surface flinger

允许使用SurfaceFlinger的低级功能的应用程序。

客户经理

Account manager

允许应用程序调用到AccountAuthenticators。

绑定appwidget

Bind appwidget

允许应用程序知道哪些应用程序可以访问AppWidget的数据AppWidget服务。

Brick

需要能够禁用设备(非常危险的!)。

广播包中删除

Broadcast package removed

允许应用程序广播一个应用程序包已经被删除的通知。

广播SMS

Broadcast sms

允许应用程序广播一个短信回执通知。

广播WAP PUSH

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

允许应用程序检索系统服务状态转储信息。

工厂测试

Factory test

运行作为一个工厂测试程序,运行在root用户。只有当设备在制造商测试模式下运行使用。

回力

Force back

允许程序强行是否在顶一个后退操作。

硬件测试

Hardware test

允许访问硬件外设。在硬件测试目的。

注入事件

Inject events

允许应用程序截获用户事件(按键,触摸,轨迹球)到事件流,并提供给任何窗口。

安装位置提供

Install location provider

允许安装位置信息提供到位置管理器的应用程序。

安装软件包

Install packages

允许一个程序安装packages。

内部系统窗口

Internal system window

允许应用程序打开是由系统用户界面的窗口使用。

管理应用程序令牌

Manage application tokens

允许应用程序管理(创建,销毁,Z-顺序)在窗口管理器应用程序标记。这仅仅是对由系统使用。

明确大师

Master clear

允许你调​​用CheckinService.masterClear(),它重置设备设置为出厂默认设置,并删除任何用户数据。

修改手机状态

Modify phone state

允许修改话机状态 - 对电源,人机接口等,这仅仅是供系统使用。

芒格式的文件系统

Mount format filesystems

允许可移动存储格式的文件系统。

安装卸载文件系统

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

允许应用程序更新设备统计数据。

写入APN设置

Write apn settings

允许应用程序写入API设置。

写谷歌服务

Write Google services

允许应用程序修改谷歌地图服务。

编写安全设置

Write secure settings

允许应用程序读取或写入安全系统设置。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值