我希望我的本机代码与Android上的Java代码完全相同:
Intent i = new Intent();
i.setClassName("com.example.someservice", "com.example.someservice.service");
bindService(i, clientConnection, Context.BIND_AUTO_CREATE);
但是clientConnection
是Java中的ServiceConnection接口。我怎么能用c本机代码实现接口?
答案 0 :(得分:1)
您不能使用Binder,因为它不是NDK API的一部分。
查看NDK docs / STABLE-APIS.html以获取稳定API的完整列表,并查看this thread以获得David Turner(NDK维护者)明确评论Binder不是受支持的API。
您的选择是:
Service
和AIDL工具在Java中执行此操作。如果您希望将其与本机代码结合使用,则可以使用JNI从本机代码调用Java。