【发布时间】:2019-07-13 06:06:06
【问题描述】:
我已通过创建 Xamarin.Bindings 库将本机 Java 代码绑定到我的 Xamarin.Android 项目。我注意到我不能让这个库做任何有用的事情。我查看了 JAR 库的反编译代码,发现它尝试像这样启动后台服务:
context.startService
或
context.bindService
我通过设备监视器监控应用程序,发现它无法启动此 jar 库运行所需的各种服务。 例如,确切的错误消息是:
02-19 19:04:45.882: W/ActivityManager(1570): Unable to start service Intent { act=com.redacted1.redacted2.REDACTED2 pkg=com.redacted1.redacted2 } U=0: not found
“已编辑”部分后面的数字显示两个单词是否相同,无论大小写如何。
我想知道,有没有办法使这项工作 - 即添加一些转换或权限,以使这些服务能够启动?
我尝试搜索此特定问题,但到目前为止找不到任何内容。欢迎任何指点。
【问题讨论】:
-
你一步一步绑定Jar了吗?developer.xamarin.com/guides/android/advanced_topics/…,如果你这样做了,你可以自己做一个基本的绑定问题。developer.xamarin.com/guides/android/advanced_topics/…
-
是的,我做到了。我想真正的问题是意图是从类和包名开始的,它们在 jar 本身中不存在。它类似于:this.context.startService(new Intent().setComponent(new ComponentName(“pkg”,“class”)。但是 jar 中既不存在“pkg”也不存在 class。我很确定他们必须这样做存在,以便服务启动。
-
是的,这些问题通常与这个 jar 本身有关,你可以换另一个 jar 来测试它。如果这个问题消失了,你应该改变jar的代码或使用另一个。
-
谢谢。罐子是递给我的——所以我真的无法改变它。但你的回答将帮助我向我的老板解释这一点))
-
不客气。我可以发表我的评论作为答案吗?并接受它,这样这个问题就会被标记为已回答。帮助其他人搜索需要帮助的问题,这样他们就不会在已回答的问题上浪费时间。