Criei um serviço vinculado por outros aplicativos através do AIDL e o adicionei ao manifesto da seguinte maneira:
<service android:name=".MyService">
<intent-filter>
<action android:name="org.example.android.myservicedemo.IService" />
</intent-filter>
</service>
onde IService é a interface AIDL.
Dessa maneira, o Eclipse me mostra o aviso Serviço exportado não requer permissão . Se eu remover o intent-filter
, o aviso desaparecerá, mas obviamente os aplicativos não poderão se vincular ao serviço.
O que esse aviso significa?
android
android-service
enzom83
fonte
fonte
Service
e ligar para qualquer método que desejarem, exposto na interface AIDL.android:permission
atributo da sua<service>
declaração. Ou simplesmente ignore o aviso - o que o serviço pretende fazer? Se você está bem com manter o serviço "interno" é muito mais fácil apenas para definirandroid:exported="false"
em seu<service>
Respostas:
Eu tive o mesmo problema quando atualizei o SDK para a versão 20 . Eu o removi adicionando a propriedade android: exported da seguinte
android:exported="false"
forma:Veja este documento
fonte
Se você deseja restringir o uso da atividade ao seu próprio aplicativo, adicione
exported=false
a declaração do manifesto da atividade.Se você deseja permitir que outros aplicativos o usem (explicitamente através do nome da classe ou, melhor, usando uma intenção com um tipo de dados ou ação), então você tem duas opções:
tools:ignore="ExportedActivity"
à declaração de manifesto da sua atividade.-
O mesmo raciocínio se aplica a um serviço, com
tools:ignore="ExportedService"
e com provedores de conteúdotools:ignore="ExportedContentProvider"
.fonte
xmlns:tools="http://schemas.android.com/tools"
The prefix "tools" for attribute "tools:ignore" associated with an element type "activity" is not bound
e não há opções para corrigir isso.Como Jens disse: "Isso significa que outros aplicativos (arbitrários) que o usuário possui no telefone podem vincular-se ao seu Serviço e ligar para qualquer método que desejarem, exposto na interface AIDL".
fonte