Creé un servicio que está vinculado por otras aplicaciones a través de AIDL, y lo agrego al manifiesto de la siguiente manera:
<service android:name=".MyService">
<intent-filter>
<action android:name="org.example.android.myservicedemo.IService" />
</intent-filter>
</service>
donde IService es la interfaz AIDL.
De esta manera, Eclipse me muestra la advertencia El servicio exportado no requiere permiso . Si elimino el intent-filter
, la advertencia desaparece, pero obviamente las aplicaciones no pueden vincularse al servicio.
¿Qué significa esta advertencia?
android
android-service
enzom83
fuente
fuente
Service
y llamar al método que prefiera que esté expuesto a través de su interfaz AIDL.android:permission
atributo de su<service>
declaración. O simplemente ignore la advertencia: ¿qué pretende hacer el servicio? Si está de acuerdo con mantener el servicio "interno", es mucho más fácil simplemente configurarloandroid:exported="false"
en<service>
Respuestas:
Tuve el mismo problema cuando actualicé SDK a la versión 20 . Lo eliminé agregando Android: propiedad exportada de esta
android:exported="false"
manera:Ver este documento
fuente
Si desea restringir el uso de su actividad a su propia aplicación, debe agregar
exported=false
a la declaración de manifiesto de su actividad.Si desea permitir que otras aplicaciones lo usen (explícitamente a través de su nombre de clase o, mejor, usando una intención con un tipo de datos o acción), entonces tiene dos opciones:
tools:ignore="ExportedActivity"
a la declaración de manifiesto de su actividad.-
El mismo razonamiento se aplica a un servicio, con
tools:ignore="ExportedService"
proveedores de contenido y contools:ignore="ExportedContentProvider"
.fuente
xmlns:tools="http://schemas.android.com/tools"
The prefix "tools" for attribute "tools:ignore" associated with an element type "activity" is not bound
y no se dan opciones para solucionar esto.Como dijo Jens , "significa que otras aplicaciones (arbitrarias) que el usuario tiene en su teléfono pueden vincularse a su Servicio y llamar al método que prefiera que esté expuesto a través de su interfaz AIDL".
fuente