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"
andr开发者_如何学Gooid:name=".DownloadService" android:permission="android.permission.WRITE_EXTERNAL_STORAGE">
</service>
I need both.
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>
精彩评论