有一个共享项目解决方案。
如何从主项目调用Android项目中定义的函数?
例如,运行后台任务的函数。
答案 0 :(得分:2)
阅读有关依赖项注入和控制反转的信息。然后,您可以使用这个:
注册合同的实施,然后从Core项目中解决它并调用。
答案 1 :(得分:0)
这可能是最糟糕的方法,但是如果您只是想调用它只是一个任务,那就可以了...
public partial class App : Application
{
public static Action<byte[]> playBack;
}
如果将静态选项添加到Application类,则应该可以从代码中的任何位置引用它。
然后在您的Android代码中,将特定于平台的实现附加到Action。
protected override void OnCreate(Bundle bundle)
{
TabLayoutResource = Resource.Layout.Tabbar;
ToolbarResource = Resource.Layout.Toolbar;
base.OnCreate(bundle);
global::Xamarin.Forms.Forms.Init(this, bundle);
LoadApplication(new App());
MyApp.App.playBack += MyCrazyAction;
}
public void MyCrazyAction(byte[] array)
{
//doing stuff to this byte array
}
在理想世界中,您可以使用接口包装此功能