【问题标题】:Can an Android Service have multiple Permissions?Android 服务可以有多个权限吗?
【发布时间】:2026-01-29 20:25:02
【问题描述】:

我有一项服务,它既可以下载文件又可以保存它,而且我似乎只能指定一个权限。

<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>

两个都需要。

【问题讨论】:

    标签: java android permissions manifest


    【解决方案1】:

    Android Service 可以有多个权限,但权限是在应用程序级别授予的,而不是在Service 级别。

    您的问题是您试图在 AndroidManifest.xml 文件中的错误位置向您的 Service 授予权限。

    android:permission attribute of a Service 指定实体必须拥有使用服务的权限,而不是授予Service 的权限。

    grant permissions to all components your application在你的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>
    

    【讨论】:

    • 一个服务如何拥有多个权限?
    • 如果您需要指定一个实体拥有多个使用服务的权限怎么办?
    最近更新 更多