我有一个导入的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