我目前正在尝试在类上实现ILocationListener以接收GPS更新 - 这不是一个Activity,只是一个普通的C#类 .
作为ILocationListener Contract 的一部分,我需要支持I JavaObject:
public IntPtr Handle
{
get { throw new NotImplementedException(); }
}
我该怎么办?
另外,有没有好的文档和/或博客文章讨论如何在MonoDroid中绑定C#类和Java对象 - 如果我能找到这些文档,那么我可能不需要问这样的问题和我我们希望也能写出更好的代码 .
谢谢
3 回答
取自Xamarin's docs:
在这些情况下,基本上你应该总是继承Java.Lang.Object,因为实现IJavaObject本身并不会真正起作用,因为Android的Mono不会生成可调用的包装器 .
如果它有帮助,我有一个实现ILocationListener的示例here . 它直接在活动上实现它,但您可以从Java.Lang.Object而不是Activity继承 .
我想我自己找到了第一块拼图 - 似乎有一个方便的Java.Lang.Object,我可以使用它 .
我将继续寻找绑定信息 - 希望我会知道我在做什么:)
这也解决了我的Seg Fault崩溃[mono-rt]在执行本机代码时得到了一个SIGSEGV .....由一个实现IJavaObject的类引起的问题!