【发布时间】:2013-12-12 18:28:55
【问题描述】:
根据docs,Android 清单文件对于Service 可以具有以下语法:
<service android:enabled=["true" | "false"]
android:exported=["true" | "false"]
android:icon="drawable resource"
android:isolatedProcess=["true" | "false"]
android:label="string resource"
android:name="string"
android:permission="string"
android:process="string" >
. . .
</service>
权限属性特别指定:
实体必须拥有的权限名称 启动服务或绑定到它。
但似乎我不能为一个实体请求多个权限来启动我的服务。真的是这样吗?有没有办法绕过这个?
在 Stackoverflow 上,我找到的最接近的是 this answer,作者这样说:
一个 Android 服务可以有多个权限,但权限是 在应用程序级别授予,而不是在服务级别授予。
但他接着解释了<uses-permission> 属性,这不是我想要的。 Another answer 进一步降低了我的希望。看来这确实是不可能的。
如果是这种情况,我正在考虑的替代方法是为我需要的每个权限提供一项服务,并让它们都作为负责执行这项工作的实际服务的转发器。有更好的主意吗?
【问题讨论】:
标签: android permissions