Я создал службу, связанную с другими приложениями через AIDL, и добавляю ее в манифест следующим образом:
<service android:name=".MyService">
<intent-filter>
<action android:name="org.example.android.myservicedemo.IService" />
</intent-filter>
</service>
где IService - это интерфейс AIDL.
Таким образом, Eclipse покажет мне предупреждение. Экспортируемая служба не требует разрешения . Если я удаляю intent-filter
, предупреждение исчезает, но, очевидно, приложения не могут привязать к службе.
Что означает это предупреждение?
android
android-service
enzom83
источник
источник
Service
и вызывать любой метод, который ему нравится, доступный через ваш интерфейс AIDL.android:permission
атрибута вашего<service>
объявления. Или просто проигнорируйте предупреждение - для чего предназначен сервис? Если вы штраф с сохранением службы «внутренней» это намного проще просто наборandroid:exported="false"
на вашем<service>
Ответы:
У меня была та же проблема, когда я обновил SDK до версии 20 . Я удалил его, добавив свойство android: exported
android:exported="false"
так:Смотрите этот документ
источник
Если вы хотите ограничить использование вашей активности вашим собственным приложением, то вам следует добавить
exported=false
в заявление манифеста вашей активности.Если вы хотите разрешить другим приложениям использовать его (явно через имя класса или, лучше, используя намерение с типом данных или действием), тогда у вас есть два варианта:
tools:ignore="ExportedActivity"
к заявлению манифеста вашей деятельности.-
То же самое относится и к сервису,
tools:ignore="ExportedService"
и к контент-провайдерамtools:ignore="ExportedContentProvider"
.источник
xmlns:tools="http://schemas.android.com/tools"
The prefix "tools" for attribute "tools:ignore" associated with an element type "activity" is not bound
и нет выбора для исправления этого.Как сказал Дженс : «Это означает, что другие (произвольные) приложения, которые пользователь имеет на своем телефоне, могут связываться с вашей службой и вызывать любой метод, который им нравится, доступный через ваш интерфейс AIDL».
источник