2010-08-13 16 views
8

Tengo un servicio que descarga un archivo y lo guarda, y parece que solo puedo especificar un permiso.¿Puede un servicio Android tener múltiples permisos?

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

o

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

necesito tanto.

Respuesta

19

Un Android Service puede tener permisos múltiples, pero los permisos se otorgan en el nivel de aplicación, no en el nivel Service.

Su problema es que está tratando de otorgar permiso a su Service en el lugar incorrecto en el archivo AndroidManifest.xml.

El android:permission attribute of a Service especifica el permiso que una entidad debe tener para usar el servicio, no un permiso otorgado al Service.

Usted grant permissions to all components your application en el nivel superior de la 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

cómo un Serice puede tener más de un permiso? – hariszaman

+6

¿Qué sucede si necesita especificar que una entidad tiene más de un permiso para usar el servicio? – zundi

Cuestiones relacionadas