Ste*_*ack 5 android library-project
谁能告诉我一个很好的方法从Android库项目到使用这个库的应用程序进行通信?
一点描述:我的库收到GCM通知,并使用此库将其中一些转发到应用程序.现在我通过库发送的Intents和在App中监听该意图的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);
...
}
Run Code Online (Sandbox Code Playgroud)
我的BroadcastReceiver侦听con_broadcast_gcm_notification.它通过Intent-Filter在清单中注册.
的manifest.xml
...
<receiver android:name=".MyBroadcastReceiver" >
<intent-filter>
<action android:name="de.tuberlin.snet.gcm.notification" />
</intent-filter>
</receiver>
...
Run Code Online (Sandbox Code Playgroud)
在 Android 中执行此操作的正确方法取决于您的“库”的安装方式。
如果您的库本身作为单独的“应用程序”安装,则解决方案是对不同的广播使用不同的意图过滤器。这样,Android 将仅向那些已宣传其兴趣的应用程序发送广播。您需要使用不同的意图过滤器更新客户端应用程序,并更改您的库以将意图过滤器用于适当的客户端作为其广播的一部分。
如果您的库与两个客户端捆绑在一起,则可以使用 LocalBroadcastManager 方法。
| 归档时间: |
|
| 查看次数: |
1342 次 |
| 最近记录: |