Exported service does not require permission: what does it mean?

enzom83 picture enzom83 · May 6, 2012 · Viewed 58.4k times · Source

I created a service that is bound by other applications through AIDL, and I add it to the manifest as follows:

<service android:name=".MyService">
    <intent-filter>
        <action android:name="org.example.android.myservicedemo.IService" />
    </intent-filter>
</service>

where IService is the AIDL interface.

In this way, Eclipse show me the warning Exported service does not require permission. If I remove the intent-filter, the warning disappear, but obviously the applications are unable to bind to the service.

What does this warning mean?

Answer

Nam Vu picture Nam Vu · Aug 4, 2012

I had the same issue when I updated SDK to version 20. I removed it adding android:exported property android:exported="false" like so:

<service android:name=".MyService"
    android:exported="false">
    <intent-filter>
        <action android:name="org.example.android.myservicedemo.IService" />
    </intent-filter>
</service>

See this doc