Android Service 可以有多个权限吗?

发布于 2024-09-13 19:46:45 字数 452 浏览 4 评论 0原文

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

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

我两者都需要。

I have a service which both downloads a file and saves it, and it seems I can only specify one permission.

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

or

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

I need both.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

音栖息无 2024-09-20 19:46:45

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

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

android:permission 属性 < code>Service 指定实体使用该服务必须拥有的权限,而不是授予Service 的权限。

您在顶层向应用程序的所有组件授予权限您的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>

An Android Service can have multiple permissions, but permissions are granted at the application level, not at the Service level.

Your problem is that you are trying to grant permission to your Service in the wrong place in the AndroidManifest.xml file.

The android:permission attribute of a Service specifies the permission that an entity must have to use the service, not a permission granted to the Service.

You grant permissions to all components your application at the top level of your 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>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文