我有一个Xamarin Forms应用程序,我需要从Android传递数据统一到
我使用了下一个代码,如果两者在同一进程中,它工作得很好。
UnityPlayer.UnitySendMessage("Gameobject", "MyMethod", "Message");
但是当我将Unity更改为另一个进程时(有必要关闭Unity场景并返回android先前的活动),UnitySendMessage不起作用。
[Activity(Label = "CustomUnityAndroidActivity", MainLauncher = false, ... , Process = ":unityplayer", LaunchMode = LaunchMode.SingleTask, ...]
有一种方法可以将数据传递给另一个进程吗?如果两个进程属于同一个应用程序,那么在android中推荐的方法似乎是绑定服务。要在unity中运行此功能,可能需要对清单和构建配置进行大量的修改,但可能是可行的。
如果你在android中有两个独立的应用程序,那么正确的方法是使用内容提供商。即使您处于相同的活动中,内容提供者也可能仍然有用。内容提供者所能做的是有限制的,但我可以保证你可以让内容提供者的两个方面统一工作。下面是一个例子。