绑定到位于Xamarin绑定Java库中的服务

时间:2015-06-30 19:37:02

标签: c# android xamarin

我有一个导入的Java库,这是我的解决方案中的“Bindings Library”项目。

我正试图从解决方案中的另一个项目绑定到第三方库中的服务。

第三方图书馆文档[在java中]非常简单:

在Activity类中声明MeshService对象:

Test

绑定到onCreate中的服务:

private MeshService mService;

当我尝试使用以下代码绑定时:

Intent bindIntent = new Intent(this, MeshService.class);
bindService(bindIntent, mServiceConnection, Context.BIND_AUTO_CREATE);

第一行引发了一个异常

Intent bindIntent = new Intent(this, typeof(MeshService));
mServiceConnection = new ServiceConnection(this);
BindService(bindIntent, mServiceConnection, Bind.AutoCreate);

当我尝试使用另一段代码绑定时:

  Java.Lang.ClassNotFoundException: Didn't find class   "com.csr.mesh.MeshService" on path:DexPathList[[zip file "/data/app/DeakoMesh.Android-1/base.apk"],nativeLibraryDirectories=[/data/app/DeakoMesh.Android-1/lib/arm, /system/lib, /vendor/lib, system/vendor/lib, system/vendor/lib/egl, system/lib/hw]] at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)

没有异常,但服务绑定永远不会发生,mServiceConnection是null。 (请参阅下面的代码)

问题: 如何绑定到另一个项目中的服务? 我应该提供什么背景而不是“这个”?

Intent bindIntent = new Intent("com.csr.mesh.MeshService");
mServiceConnection = new ServiceConnection(this);
BindService(bindIntent, mServiceConnection, Bind.AutoCreate);

mServiceConnection的代码:

Intent bindIntent = new Intent(this, typeof(MeshService));

非常感谢您提出任何有关此问题的提示!

也在xamarin论坛上发布: https://forums.xamarin.com/discussion/44647/binding-to-a-service-that-lives-in-a-bound-java-library?new=1

1 个答案:

答案 0 :(得分:0)

您的图书馆绑定似乎无法正常运行,否则您应该能够看到自动完成建议,并且不会出现此类错误。 结帐Article。这里详细解释了如何绑定Android库