反向依赖服务
问题描述:
我有一个Xamarin Forms项目。我已经使用Dependency Service来调用Platform特定的方法来触发Android上的本地通知和iOS上的Alert。
我现在的问题是,如何处理通知(android)和警报(iOS)上的操作。有没有可能从android或iOS项目调用共享项目的方法?
我需要另一种方法吗?有人知道我必须做什么吗?
为了说明问题,我知道普通依赖服务是如何工作的,即从共享项目调用android或iOS上的方法!
谢谢:)反向依赖服务
答
我相信我的应用程序有类似的情况。如果你想将某些东西从你的平台方法推送到你的PCL,你需要利用回叫和事件代表。
在接口PCL:
event OnMessageHandlerCallback OnMessageEvent;
event OnErrorHandlerCallBack OnErrorEvent;
在特定于平台的类继承接口:
private OnMessageHandlerCallback callback = null;
private OnErrorHandlerCallBack errorCallBack = null;
public event OnMessageHandlerCallback OnMessageEvent;
public event OnErrorHandlerCallBack OnErrorEvent;
答
您是否尝试过只是从你的本地项目中调用该方法...?没有特殊的图案需要。本机iOS和Android项目直接引用您的共享项目,因此它可以直接调用该方法。
平台项目,应该有一个直接引用共享的项目,这样他们就可以直接调用的代码共享项目。或者,您可以使用MessagingCenter从平台项目发送消息并在共享项目中订阅消息。 – Jason