2010-08-13 16 views
8

Bir dosyayı indirip kaydeden bir hizmetim var ve sadece bir izin belirtebilirim. Bir Android Hizmeti'nde birden fazla İzin var mı?

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

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

veya

Ben de ihtiyacım var.

cevap

19

Bir Android Service, birden çok izin alabilir, ancak uygulama düzeyinde Service düzeyinde değil, izinler verilir.

Sorununuz, Service dosyanızın AndroidManifest.xml dosyasında yanlış yere izin vermeye çalıştığınızdır.

android:permission attribute of a Service, bir öğenin, Service'a verilen bir izin değil, hizmeti kullanmak zorunda olması iznini belirtir.

senin AndroidManifest.xml en üst düzeyinde

Sen grant permissions to all components your application:

<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

bir Serice bir izni daha nasıl olabilir? – hariszaman

+6

Bir öğenin bu hizmeti kullanmak için birden fazla iznine sahip olduğunu belirtmeniz gerekiyorsa ne olur? – zundi