Ho creato un servizio associato da altre applicazioni tramite AIDL e lo aggiungo al manifest come segue:
<service android:name=".MyService">
<intent-filter>
<action android:name="org.example.android.myservicedemo.IService" />
</intent-filter>
</service>
dove IService è l'interfaccia AIDL.
In questo modo, Eclipse mi mostra l'avviso Il servizio esportato non richiede autorizzazione . Se rimuovo intent-filter
, l'avviso scompare, ma ovviamente le applicazioni non sono in grado di collegarsi al servizio.
Cosa significa questo avviso?
android:permission
attributo della tua <service>
dichiarazione. O semplicemente ignorare l'avvertimento: che cosa intende fare il servizio? Se stai bene mantenendo il servizio "interno" è molto più semplice impostare android:exported="false"
il tuo<service>
Service
e chiamare qualunque metodo a loro piacimento che sia esposto attraverso la tua interfaccia AIDL.