Может ли кто-нибудь сказать мне хороший подход для связи из проекта библиотеки Android с приложением, которое использует эту библиотеку?
Небольшое описание: моя библиотека получает уведомления GCM и пересылает некоторые из них в приложение с помощью этой библиотеки. Прямо сейчас я понял это с намерениями, отправленными библиотекой, и BroadcastReceiver, прослушивающим это намерение в приложении.
Проблема: когда я устанавливаю 2 приложения с моим приложением, оба получают уведомления друг друга. У кого-нибудь есть идея?
Заранее спасибо!
[Редактировать]
Вот некоторый код. Я получаю уведомление GCM в библиотеке и перенаправляю его в приложение-потребитель:
GCMintentService:
@Override
protected void onHandleIntent(Intent intent) {
...
String notificationString = intent
.getStringExtra(GCMConstants.NOTIFICATION);
Intent broadIntent = new Intent(getResources().getString(
R.string.con_broadcast_gcm_notification));
broadIntent.putExtra("callback", notification.getCallback());
context.sendBroadcast(broadIntent);
...
}
и мой BroadcastReceiver прослушивает con_broadcast_gcm_notification. Прописывается в манифесте через Intent-Filter.
манифест.xml
...
<receiver android:name=".MyBroadcastReceiver" >
<intent-filter>
<action android:name="de.tuberlin.snet.gcm.notification" />
</intent-filter>
</receiver>
...