安卓服务可以拥有多个权限吗?

13

我有一个同时下载和保存文件的服务,但似乎只能指定一种权限。

<service android:enabled="true"
            android:name=".DownloadService" android:permission="android.permission.INTERNET">            
</service>

或者

<service android:enabled="true"
            android:name=".DownloadService" android:permission="android.permission.WRITE_EXTERNAL_STORAGE">            
</service>

我需要两个。

1个回答

31
一款 Android 的“服务”可以拥有多个权限,但权限是在应用程序级别而非“服务”级别进行授予的。
你的问题在于,在“AndroidManifest.xml”文件的错误位置尝试为你的“服务”授予权限。
一个“服务”的“android:permission”属性指定实体必须具备使用该服务的权限,而非授予该“服务”的权限。
在你的“AndroidManifest.xml”的顶层为应用程序的所有组件授予权限
<manifest 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.yourdomain.yourapp" >

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

</manifest>

1
一个服务如何拥有多个权限? - hariszaman
20
如果您需要指定一个实体拥有多个权限来使用该服务,应该怎么办? - zundi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接