I am an italian student from "Alma Mater Studiorum Bologna" university and I am writing a DTN aware application for Android.
I am having troubles on receiving external intents from the IBR-DTN deamon.
I followed the guide on http://trac.ibr.cs.tu-bs.de/project-cm-2012-ibrdtn/wiki/android-dev which says
<receiver android:enabled="true" android:name=".service.EventReceiver" android:exported="true" android:permission="de.tubs.ibr.dtn.permission.DTN_SERVER"> <intent-filter> <action android:name="de.tubs.ibr.dtn.intent.STATE" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> <intent-filter> <action android:name="de.tubs.ibr.dtn.intent.REGISTRATION" /> <!-- IMPORTANT: The category has to be the package name of the app! --> <category android:name="de.tubs.ibr.dtn.app" /> </intent-filter> <intent-filter> <action android:name="de.tubs.ibr.dtn.intent.RECEIVE" /> <!-- IMPORTANT: The category has to be the package name of the app! --> <category android:name="de.tubs.ibr.dtn.app" /> </intent-filter> </receiver>
ando so I did:
<receiver android:enabled="true" android:name=".DtnReceiver" android:exported="true" android:permission="de.tubs.ibr.dtn.permission.DTN_SERVER"> <intent-filter> <action android:name="de.tubs.ibr.dtn.intent.STATE" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> <!-- Add intent filter for notification of incoming bundles --> <intent-filter> <action android:name="de.tubs.ibr.dtn.intent.RECEIVE" /> <category android:name="com.mir.dtnawareapp" /> </intent-filter> <!-- Add intent filter for status reports generated by the DTN service --> <intent-filter> <action android:name="de.tubs.ibr.dtn.intent.STATUS_REPORT" /> <category android:name="com.mir.dtnawareapp" /> </intent-filter> </receiver>
the DtnReceiver is the broadcast receiver copy-pasted from DTNexampleApp and it's located in the com.mir.dtnawareapp package.
The problem is tha the BroadcastReceiver (DtnReceiver) doesn't get triggered for incoming bundles.
So I tried to modify the DTNexampleApp changing the package from de.tubs.ibr.dtn.ping to de.tubs.ibr.dtn.dtnawareapp
but when i come to change
<category android:name="de.tubs.ibr.dtn.ping" />
to
<category android:name="de.tubs.ibr.dtn.dtnawareapp" />
the BroadcastReceiver just doesn't get triggered anymore.
without changes it gets triggered, even with package name mismach (package name:de.tubs.ibr.dtn.dtnawareapp , category:de.tubs.ibr.dtn.ping )
I can't figure out where i'm going wrong, I know this is probably an Android related issue, but I didin't find enough documentation on custom categories for intent filters.