反向依赖服务

时间:2017-07-07 14:47:28

标签: xamarin dependency-injection xamarin.forms

我有一个Xamarin Forms项目。我使用Dependency Service来调用特定于Platform的方法来在Android上发出本地通知,在iOS上发出警报 我现在的问题是,如何处理通知(android)和警报(iOS)上的操作。是否可以从android或iOS项目中调用共享项目的方法?

我需要另一种方法吗?有人知道我要做什么吗?

为了澄清,我知道普通的依赖服务是如何工作的,即从共享项目中调用Android或iOS上的方法!

2 个答案:

答案 0 :(得分:0)

您是否尝试过从原生项目中调用该方法...?没有必要的特殊图案。本机iOS和Android项目直接引用您的共享项目,因此它可以直接调用该方法。

答案 1 :(得分:0)

我相信我的应用程序有类似的情况。如果您想将平台方法中的某些内容推送到PCL,则需要使用回调和事件代理。

在界面PCL中:

    event OnMessageHandlerCallback OnMessageEvent;
    event OnErrorHandlerCallBack OnErrorEvent;

在特定于平台的类继承接口:

 private OnMessageHandlerCallback callback = null;
    private OnErrorHandlerCallBack errorCallBack = null;

    public event OnMessageHandlerCallback OnMessageEvent;

    public event OnErrorHandlerCallBack OnErrorEvent;