使用它从Android库项目到应用程序的不同通信

前端之家收集整理的这篇文章主要介绍了使用它从Android库项目到应用程序的不同通信前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

谁能告诉我一个很好的方法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);
    ...
    }

我的BroadcastReceiver侦听con_broadcast_gcm_notification.它通过Intent-Filter在清单中注册.

的manifest.xml

    ...
    
最佳答案
在Android中执行此操作的正确方法取决于您的“库”的安装方式.

如果您的库本身作为单独的“应用程序”安装,则解决方
是为不同的广播使用不同的意图过滤器.通过这种方式,Android将仅向那些宣传其兴趣的应用提供广播.您需要使用不同的intent过滤器更新您的客户端应用程序,并更改您的库以使用适当客户端的intent过滤器作为其广播的一部分.

如果您的库与两个客户端捆绑在一起,那么使用LocalBroadcastManager方法就是要采取的路径.

猜你在找的Android相关文章